试图find瓶颈… 6万现场访客

我知道这很难,但我愿意尝试问答路线。

我有一个Wordpress网站,目前在该网站上有60,000个访问者。

我使用EC2 m3.xlargephp/php-fpm 5.5.10nginx 1.4.7php-apc

对于caching插件,我正在使用WP-Super-Cache。

我注意到一个非常缓慢的响应时间,大量的502错误,再加上…我有像这些在我的nginx日志中的吨错误:

10319#0: *57132 connect() to unix:/tmp/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream

我很困惑瓶颈是什么…

  • 我有4个CPU核心,每个在约15%…总负载平均.85-1常数
  • 〜4GB使用的16GB
  • RDS占用60%CPU,读取和写入延迟低

对于我的设置…基本上用尽了我所有的知识+ Google的小时…

  • 100个max_children for php-fpm
  • 4096积压&somaxconn
  • nginx:worker_rlimit_nofile 200000
  • nginx:worker_processes 8
  • nginx:worker_connections 32768

我不知道其中的一些是太高还是太低,我尽量调整它以尽我所能

我甚至不知道如何find问题。 当我通过缓慢的日志来看,这只是很多随机的东西,可能是因为一切都变得缓慢…不只是一件事。

我认为pm.max_children = 100对于6万个并发访问者来说太小了。 即使访客平均每分钟只点击一次链接,您也需要在一秒钟内( 60000/60 )生成1000页面浏览量。

你有12GB的未使用的内存 – 例如pm.max_children = 500 。 也许更高 – 取决于需要多less内存来产生一个平均的请求。 观察RAM使用情况并相应地调整孩子的数量。

当你只有4个内核时,你正在使用8个nginx worker_processes 8? 我build议使用3,然后让其余的CPU核心其他机器任务。