首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当为LAMP应用程序设置负载平衡群集时,我应该知道什么?

当为LAMP应用程序设置负载平衡群集时,我应该知道什么?
EN

Server Fault用户
提问于 2011-01-19 05:28:23
回答 3查看 398关注 0票数 2

我应该说,“如何设置负载平衡的cluser”。我不是一个优秀的系统管理员..。我在云中安装了一些堆栈,但没什么稀奇的东西。

现在,我遇到了一个Drupal站点的问题,它已经超出了它的硬件能力。防火墙后面有两个服务器,一个是在高峰时间到达90%+的应用服务器,另一个是在同一时间很少超过10% (通常为3-4)的db/solr服务器。这些是托管物理硬件。DB读起来很重。

在财务上,即使没有配置更改,也可以将这些内容转移到云中。

因此,我想象的是一个负载均衡器,运行在2(我想要神奇增长的东西)应用服务器与nfs与一个DB服务器对话之间的mod_proxy平衡请求。

目前应用服务器是戴尔PowerEdge 2950 MKIII,32 Db内存,2.5GHzx4.DB与一半内存相同。两者都有15000 rpm raid 1的设置。

所以真的,这似乎是可行的。负载均衡器的前端似乎不需要任何东西,也许是一个1GB的图像?

我在某个地方发现,如果用户在会话中间切换服务器,那么cookie可能会有问题,有人能对此发言吗?

任何一般性的建议,学习更多的地方,等等。记住,我只是想把这件事搞清楚,而不是成为专家。

谢谢

EN

回答 3

Server Fault用户

发布于 2011-01-19 06:11:20

听起来你需要在你的组合中添加另一个网络服务器。您有大量的DB开销,这很好。这类事情是相当可行的。你已经有重点了。

  • 多台网络服务器。
  • 数据是通过NFS从某个地方的NAS提供的,或者最坏的情况下是一个web服务器本身,并由所有的web服务器挂载。
  • 负载均衡器(mod_proxy很好,但nginx可能更好)被配置以确保传入的会话对特定的web服务器具有“粘性”。

获取会话故障转移超出了我的Drupal,但它可能是可行的。是的,如果你的一个网络服务器因为某种原因重新启动,这些用户将不得不重新建立。对于与上述类似的应用程序,当我们需要执行计划好的重新启动时,我们将负载均衡器(硬件负载平衡器、F5 BigIP)配置为不允许新会话,并在重新启动web服务器之前监视所有现有会话失效。

票数 1
EN

Server Fault用户

发布于 2011-01-19 07:09:54

默认情况下,Afaik cookie存储在DB中,因此它们自动在用户之间共享。只要在NFS上分享你的webroot就可以了,几乎所有的东西都应该可以正常工作(如果你在会话中间切换,一些上传模块可能会出错)。

也许我忽略了您的帖子的要点,但是当您的Drupal服务器比DB加载得更多时,还有其他的问题。

  • 尝试标记drupal的内置缓存系统
  • 安装PHP操作码缓存器(APC、电子加速器、xcache)
  • 尝试多个缓存模块中的一个,如果可能的话,将整个页面推到磁盘上。

我做这种事是为了谋生,如果你想不出办法,请告诉我。

票数 0
EN

Server Fault用户

发布于 2011-01-19 11:15:01

最终,故障转移/负载平衡必须能够在客户端上完成--尽管有一些充分的理由可以进一步沿着链(及其隐含在网络层之间)提供此功能,这就意味着循环使用DNS。当然,对于几个使用单独负载均衡器的for服务器来说,这是过分的。

我对Drupal并不太熟悉,但是如果内容都存储在数据库中,那么您所需要做的就是在DB框上安装一个webserver,并为站点设置循环的DNS记录,这有利于webserver专用框。

快速查看Drupal安装说明没有提到有可写目录,所以看起来我的假设是正确的。

除了将负载扩展到可用的负载之外,您还可以消除堆栈中的单个故障点-- webserver,添加一个负载均衡器意味着要向堆栈中添加另一个SPOF。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/224064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档