WordPress高流量网站的推荐Nginx配置

3
我们有一个基于WordPress的网站,每天大约有150万次页面浏览量,同时最多可以达到5000个用户每分钟的最大并发会话数。
我们有一个Web服务器和一个数据库服务器。两台机器的规格如下:
CPU: 2 x Intel(R) Xeon(R) CPU X5650 @ 2.66GHz
12M Cache / 6 Cores / 12 Threads (x2)
Memory: 24GB
Drive(s)(size/GB) - 4x240gb SSDs RAID 10

我们使用Nginx作为服务器,使用FastCGI进行加速,在缓存方面除了WP Super Cache提供的简易页面缓存外,还使用APC进行缓存。
当前的Nginx配置如下:
worker_processes  24;
worker_rlimit_nofile 200000;
worker_connections  4000;

快速公共网关接口(FastCGI)的设置如下:
FcgidMaxProcesses 200
FcgidProcessLifeTime 3600
MaxProcessCount 100
FcgidIOTimeout 400
FcgidIdleTimeout 600
FcgidIdleScanInterval 90
FcgidBusyTimeout 400
FcgidBusyScanInterval 80
ErrorScanInterval 3
ZombieScanInterval 3

在高流量时,服务器出现故障,我们遇到了Nginx错误(502-504)。我想知道这是否与糟糕的配置有关。

非常感谢您的帮助。


这个问题可能在Server Fault上得到更好的答案。 - Jason McCreary
好的,谢谢,我会在那里发布。 - mightypixel
你是否使用php5-fpm / fastcgi?也许你可以增加phpfastcgi工作进程的数量,我认为错误不是来自nginx,而是来自PHP或其他问题,你也可以获取一些lockwait /超时。你能否提供更多信息,例如syslog、dmesg和error.log? - Daniel W.
@DanFromGermany,我们确实使用FastCGI,很抱歉我没有提到。当网站失败时(虽然是暂时的),error.log会充满诸如“connect() failed (111: Connection refused) while connecting to upstream”的条目。我已经更新了原始问题中的FastCGI设置。谢谢。 - mightypixel
看看Varnish作为缓存服务器,虽然不是你问题的答案,但在客户站点安装后我看到了很多改进。设置非常简单。 - John Dorean
显示剩余7条评论
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接