我的服务器 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 之间。
mytop 输出并没有告诉我们什么在使用你的 CPU——或者至少我不明白。我只使用顶部/ htop。
我写了一篇关于 Nginx、Wordpress 和缓存的相当大的六部分教程。其中的想法应该可以帮助您优化服务器。
简而言之,您应该不惜一切代价避免使用 PHP。静态或半静态公共内容的缓存时间可以从 1 秒(微缓存)到 1 周,极大地减少了服务器的负载。这可以将吞吐量提高两个数量级,并大大减少响应时间。我还使用 CDN,CloudFlare免费层,用于静态资源缓存和加速 DNS 查找。