find高负载的原因。 检查CPU,内存/交换和IO – 全部低。 在这个Ubuntu 12.04盒子上运行Nginx,MySQL和PHP-FPM

可能重复:
使用Magento进行4个或更多的并发请求时,100%的CPU

人。 这是我的第一个问题,但这个社区已经帮了我好几百次了,非常感谢。

现在到我的问题。 我知道类似的问题已经多次发布,但在Google和shell几个小时之后,我仍然无法解决问题。

这是在一台运行Ubuntu 12.04的networking服务器上安装了Magento,stream量很低(每周约70K页面浏览量)。

服务器规格:

  • Ubuntu 12.04
  • 1个核心
  • 2 GB RAM

软件版本

  • Nginx:1.1.19
  • PHP5-FPM:5.3.10-1ubuntu3.4(fpm-fcgi)
  • MySQL:5.5.28-0ubuntu0.12.04.2
  • APC:3.1.7
  • Memcached:1.4.13

据我所知,APC和Memcached是完美的。

当服务器正在处理时,产生以下输出10 – 10 – 用户 (基本上什么也没有)


最佳

top - 14:07:41 up 12 days, 3:45, 1 user, load average: 1.37, 1.43, 1.48 Tasks: 90 total, 6 running, 84 sleeping, 0 stopped, 0 zombie Cpu(s): 61.3%us, 6.0%sy, 0.0%ni, 30.3%id, 0.0%wa, 0.0%hi, 2.3%si, 0.0%st Mem: 2051736k total, 1628388k used, 423348k free, 114516k buffers Swap: 1998844k total, 0k used, 1998844k free, 370760k cached 

vmstat 5

 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- rb swpd free buff cache si so bi bo in cs us sy id wa 6 0 0 433952 114672 371120 0 0 9 34 3 10 34 4 62 0 0 0 0 434896 114680 371136 0 0 0 16 477 293 23 4 73 0 0 0 0 434664 114688 371168 0 0 0 17 560 379 36 5 58 0 5 0 0 424900 114696 371172 0 0 0 24 473 310 38 5 57 0 0 0 0 434340 114700 371196 0 0 0 12 379 281 21 3 77 0 1 0 0 429844 114712 371220 0 0 0 11 887 647 68 9 23 0 5 0 0 420048 114720 371224 0 0 0 43 528 361 41 5 54 0 0 0 0 435812 114720 371248 0 0 0 5 451 397 38 4 58 0 

iotop:几乎没有读/写stream量

PHP-FPM状态:

 pool: www process manager: static start time: 29/Nov/2012:12:59:42 +0100 start since: 4572 accepted conn: 4157 listen queue: 0 max listen queue: 1 listen queue len: 128 idle processes: 19 active processes: 1 total processes: 20 max active processes: 9 max children reached: 0 

Nginx状态:

 Active connections: 13 server accepts handled requests 5781 5781 27611 Reading: 0 Writing: 1 Waiting: 12 

相关的PHP-FPM池configuration


/etc/php5/fpm/pool.d/www.conf:

 pm = static pm.max_children = 20 pm.max_requests = 50 

总PHP内存使用量:1.18 GB
Nginx内存使用总数:151 MB


我完全被难住为什么负载高,服务器呆滞。 任何投入将不胜感激。 甚至找出什么排队在我的服务器上创build这个负载。

EDITS:


闲置时顶部

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 24292 1944 1004 S 0.0 0.1 0:06.14 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 1:27.71 ksoftirqd/0 5 root 20 0 0 0 0 S 0.0 0.0 0:00.27 kworker/u:0 6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 7 root RT 0 0 0 0 S 0.0 0.0 0:07.77 watchdog/0 

顶部突然爆发php5-fpm:

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 17533 www-data 20 0 786m 52m 25m R 19.8 2.6 0:11.21 php5-fpm 17534 www-data 20 0 786m 56m 30m R 19.8 2.8 0:10.58 php5-fpm 17539 www-data 20 0 786m 56m 30m R 19.8 2.8 0:09.49 php5-fpm 17544 www-data 20 0 786m 56m 30m R 19.8 2.8 0:09.98 php5-fpm 17671 www-data 20 0 786m 60m 34m R 19.8 3.0 0:08.10 php5-fpm 1 root 20 0 24292 1944 1004 S 0.0 0.1 0:06.14 init 

你有没有检查与htop,哪个进程正在增加CPU? 也pm.max_requests = 50似乎太低(是Magento泄漏?)。 我会去pm.max_requests = 500