我的服务器 Ubuntu 14.04.4 LTS 正在高负载运行,当前使用 Nginx + Wordpress + W3 Total Cache + Memcached 运行单个站点。
我不确定mysql
这是否导致了工作量问题。
htop
以下是mytop
由此我可以看出htop
内存不是这里的瓶颈。
它表明mysqld
和php-fpm
是使用资源最多的进程。
有人能告诉我如何解释mytop
并且它看起来正常吗?
1 [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||93.6%] Tasks: 361, 71 thr; 12 running
2 [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||95.6%] Load average: 19.52 22.34 19.45
3 [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||97.5%] Uptime: 71 days, 08:54:08
4 [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||96.8%]
Mem[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||5570/8015MB]
Swp[ 0/0MB]
MySQL on localhost (5.7.13)
load 23.92 23.12 19.55 43/528 10012 up 7+04:05:52 [05:30:09]
Queries: 103.6M qps: 175 Slow: 0.0 Se/In/Up/De(%): 79/00/00/00
Sorts: 8693 qps now: 356 Slow qps: 0.0 Threads: 37 ( 1/ 3) 79/00/00/00
Key Efficiency: 50.0% Bps in/out: 28.8k/532.7k Now in/out: 57.6k/880.7k
或者我应该考虑使用 fastcgi_cache 来避免影响 php-fpm?
更新:
我已尝试重新启动所有服务,Nginx、PHP-FPM 和 MySQL。
我正在工作一个流量相当高的网站,每天的页面浏览量有 110 万次。
重新启动所有服务后,资源又很快恢复正常。
在非高峰时段,我的 4 核机器上的负载值最大约为 4.00。
在高峰时段,负载达到20甚至40。
答案1
mytop 的输出并没有告诉我们你的 CPU 被哪些程序占用了 - 或者至少我不明白。我只使用 top / htop。
我写了一个关于 Nginx、Wordpress 和缓存的六部分教程。其中的想法应该可以帮助您优化服务器。
简而言之,你应该不惜一切代价避免使用 PHP。静态或半静态公共内容的缓存时间可以从 1 秒(微缓存)到 1 周,从而大大减少服务器负载。这可以将吞吐量提高两个数量级,并大大缩短响应时间。我还使用 CDN,云Flare免费层,用于静态资源缓存和加速 DNS 查找。