【发布时间】:2013-11-19 00:47:05
【问题描述】:
我们有一个基于 Wordpress 的网站,每天的网页浏览量约为 150 万。最大并发会话数有时可达每分钟 5000 个用户。
我们有一台网络服务器和一台数据库服务器。两台机器的规格如下:
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,还使用 APC 进行缓存,以及使用 WP Super Cache 进行简单的页面缓存。
目前的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)。我想知道这是否与错误的配置有关。
非常感谢您的帮助。
【问题讨论】:
-
这可能在服务器故障上得到更好的回答。
-
好的,谢谢,我会在那里发布。
-
你使用 php5-fpm / fastcgi 吗?也许您可能会增加 phpfastcgi 工作人员的数量,我认为错误不是来自 nginx,而是来自 PHP 或其他认为,您最好让它们进行一些锁定等待/超时。您能否提供更多来自 syslog、dmesg 和 error.log 的信息?
-
@DanFromGermany 我们确实使用了 FastCGI,抱歉我没有提到它。当网站失败时(尽管是暂时的),error.log 中充满了诸如
connect() failed (111: Connection refused) while connecting to upstream之类的条目。我已经用 FastCGI 设置更新了我原来的问题。谢谢。 -
看看 Varnish 作为缓存服务器,虽然不是您问题的答案,但在客户端站点上安装它后,我看到了很多改进。设置也非常简单。