【问题标题】:Recommended Nginx Configuration for High Traffic Website on Wordpress [closed]WordPress 上高流量网站的推荐 Nginx 配置 [关闭]
【发布时间】: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 作为缓存服务器,虽然不是您问题的答案,但在客户端站点上安装它后,我看到了很多改进。设置也非常简单。

标签: php wordpress nginx


【解决方案1】:

"...运行多个工作线程对我们来说是有意义的,通常每个 CPU 内核有 1 个工作线程。不过,任何超过 2-4 个工作线程的工作都是多余的,因为 nginx 会在 CPU 成为问题之前遇到其他瓶颈,通常你'只会有空闲进程”

查看此博客:http://blog.martinfjordvald.com/2011/04/optimizing-nginx-for-high-traffic-loads/

这篇文章也可能有帮助:Tuning nginx worker_process to obtain 100k hits per min

【讨论】:

    猜你喜欢
    • 2011-05-18
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 2018-08-04
    • 2018-08-17
    • 1970-01-01
    相关资源
    最近更新 更多