大型Drupal站点的服务器场设置

Modified on: Thu, 16 May 2019 00:20:02 +0800

我正在建立一个大型Drupal(Pressflow)网站,这是我目前的计划。我有没有做过任何公然愚蠢的事情?有没有人有这样的大型多服务器Drupal安装的经验?

最佳答案

我很想在HAProxy后面有一对清漆节点来提供HA Varnish集群。

您可以轻松地单独使用2个以上的清漆节点,而无需HAProxy,但是您只能对HTTP流量进行负载平衡。至少在HAProxy上,你也有一个TCP负载均衡器。

您建议您的网络边缘是什么样的?您是否计划拥有一对HA硬件防火墙?您是否需要边缘路由,BGP和多个转换?

要考虑的另一件事是文件服务器的工作原理。您可能会因使用GlusterFS或MogileFS等存储服务器而拥有一对文件服务器而受益。这样,您就可以确保整个基础架构的冗余。

添加多个Memcached节点也很简单,为您提供更多的冗余和弹性,以防止流量高峰和硬件故障。

确保您采取措施优化内容的前端投放,尤其是在预计流量较高的情况下。将所有媒体保留在媒体域上,最好是无cookie的媒体域,例如http://blog.stackoverflow .com / 2009/08 / a-few-speeds-improvements /使用sstatic.net

您可能还想考虑使用CDN来缓存静态内容,例如CSS和不变的JS。这种多级缓存基础架构可以平滑slashdot效果,并且还可以为您提供更大的故障恢复能力。
这是因为如此大比例的浏览器请求是针对静态内容的,这可以从最靠近请求者的CDN的PoP有效地提供。在多个层(浏览器,CDN,Varnish,Memcache)上缓存的另一个好处是,经过一段时间后,所有内容都会在多个位置缓存多次。这为您提供了抵御失败的能力。

一个大型的drupal网站与大型网站没什么区别。只需确保在网络的每一层都有多级冗余。

至于实际服务器的规格,您可能希望在varnish节点上使用> 8G ram。

我建议在负载均衡器盒上安装英特尔服务器网卡,并为网络核心推荐思科或HP Procurve交换机。

您的数据库节点应该是具有15k SAS磁盘的快速多处理器服务器,以提高速度。为了实现冗余,请将4个以上的磁盘放入RAID10阵列中。

我不建议在共享托管环境中执行此操作。专用服务器可能没问题,但出于谨慎的考虑,我将在运营商中立数据中心中指定1/4机架。这样,您就可以获得实际配置和管理服务器的最大自由。

加了:

你绝对需要运行apache吗?

对于在无cookie域上托管媒体文件的服务器,你可能最好从较轻的HTTP服务器托管这些服务器,Nginx是一个很棒的解决方案。
  Apache可能更适合托管Drupal本身,但没有真正的理由你不能使用Nginx和FastCGI。

作者:,Tom O'Connor

相关问答

添加新评论