Apache和MySQL的HAProxy平衡algorithm

就在最近,我对现有的使用Apache Web服务器和MySQL数据库的项目负责。

Web服务器位于HAProxy负载平衡器的后面,应用程序通过另一个HAProxy连接到MySQL从站。

10个networking服务器中的2个是最近添加的,比旧的更强大。 对于MySQL从站也是一样的:这5个从站中有2个有更多的RAM和CPU。

Apache服务器的平衡algorithm是最不安全的 ,而从服务器的平衡algorithm是源代码 。 至lessMySQL服务器的设置我觉得很奇怪,因为在最糟糕的情况下,“最好”的Apache(最重)总能挑选最差劲的MySQL服务器,如果我理解了HAProxy文档的话 。 我会select调整重量的roundrobin

  • 10个为三个普通的MySQL服务器
  • 20为更强大的MySQL服务器

而且因为在20秒的超时时间后面的HAProxy,我宁愿使用roundrobin

  • 10为八个正常的Apache服务器
  • 20为更强大的Apache服务器

(我会用20来开始,我要去看监控,稍后会调整。)

因为这些服务器在主机托pipe(如:我没有root权限,更改请求需要一些时间),我只想对这个主题有第二个(或更多)的意见:改变平衡是一个好主意algorithm都为了循环 ? 如果最近没有任何性能问题,我不会考虑这个,这只是我觉得值得调整的一个地方。

感谢您的任何build议!

问候丹尼斯

source确实是一个奇怪的select,除非你的应用程序服务器应该与数据库从站具有会话持久性。 但是,这是你要弄清楚的。

如果每个服务器(应用服务器和数据库)的性能不是绝对稳定的话,那么leastconn通常是一个非常好的select。 这取决于你的应用程序和平台的细节。 (例如,基于Java的应用程序服务器可能由于垃圾收集而具有减速时段,在此期间减小其平衡负载是明智的)。

最后,是的,用roundrobin你通常会达到非常可预测和稳定的平衡,紧密地依附于权重。