什么是在我的LAMPnetworking服务器上find瓶颈的最好方法?

你能帮我find我的服务器上的瓶颈吗? 在前面的问题中,我问过SF,我被告知记忆是没有问题的,我有很多。

我很好奇CPU,也许HDs …什么可以阻止我的服务量的两倍,如果我的用户增加?

我需要做一些httpd.conf优化? 或php.ini优化?

服务器:16 GB DDR3-RAM ECC硬盘RAID1,2个250 GB SATA II-HDD 7.200 rpm 2个额外的80 GB固态硬盘CPU 2x Intel Xeon E5520 Quadcore

软件:php 5.3.6 mysql 5.5 apache 2.2.3 centos 5.5,2.6.18-238.12.1.el5#1 SMP Tue 5月31日13:22:04 EDT 2011 x86_64 x86_64 x86_64 GNU / Linux

当前非高峰时段上方:

top - 16:46:17 up 2 days, 14:57, 4 users, load average: 4.22, 3.53, 3.19 Tasks: 305 total, 4 running, 300 sleeping, 0 stopped, 1 zombie Cpu(s): 19.1%us, 11.1%sy, 0.0%ni, 69.6%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 16427200k total, 16280100k used, 147100k free, 3131684k buffers Swap: 2104496k total, 268k used, 2104228k free, 6221860k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20157 apache 15 0 387m 67m 4088 S 57.5 0.4 0:21.00 httpd 4106 apache 20 0 389m 67m 5164 R 40.9 0.4 0:59.57 httpd 20156 apache 15 0 357m 35m 5072 S 33.9 0.2 0:24.82 httpd 20148 apache 18 0 357m 35m 5052 R 31.2 0.2 0:25.00 httpd 1759 apache 15 0 391m 69m 5188 S 29.9 0.4 4:37.24 httpd 16194 apache 18 0 358m 36m 5192 S 28.9 0.2 3:44.69 httpd 20147 apache 16 0 357m 35m 5148 S 23.6 0.2 0:26.73 httpd 17329 apache 15 0 370m 48m 5188 S 15.0 0.3 2:13.67 httpd 20140 apache 15 0 359m 37m 5136 S 8.0 0.2 0:20.53 httpd 28473 apache 15 0 358m 36m 5172 S 4.0 0.2 1:20.78 httpd 20158 apache 15 0 357m 35m 5112 S 3.7 0.2 0:22.96 httpd 26922 apache 15 0 357m 36m 5840 R 2.3 0.2 2:22.49 httpd 26925 apache 15 0 358m 36m 5188 S 2.3 0.2 1:28.63 httpd 12642 apache 15 0 357m 35m 5076 S 1.7 0.2 0:40.92 httpd 17963 apache 15 0 357m 35m 5152 S 1.7 0.2 0:27.35 httpd 2687 apache 15 0 358m 36m 5192 S 1.0 0.2 4:28.17 httpd 4419 mysql 15 0 668m 175m 7204 S 1.0 1.1 4:07.99 mysqld 20155 apache 16 0 368m 46m 5144 S 1.0 0.3 0:16.67 httpd 26923 apache 17 0 387m 66m 5168 S 1.0 0.4 1:42.18 httpd 1277 apache 15 0 355m 34m 3988 S 0.7 0.2 0:11.11 httpd 3571 root 16 0 13400 1792 848 S 0.3 0.0 3:03.17 top 32204 root 15 0 90156 3404 2648 S 0.3 0.0 0:00.19 sshd 1 root 15 0 10372 680 572 S 0.0 0.0 0:02.04 init 

在这个打印的顶部我看不到任何瓶颈:

  • 你有8个CPU-Cores(16个超线程?),4个进程需要CPU时间(负载)
  • 你有16GB的内存,只有6GB真的被使用
  • 没有等待 ,所以当然没有IO等待

如果你的网站很慢,你可以看看:

  • 过期的标题(是在客户端caching的静态内容?)
  • 你的数据库负载
  • 使用反向代理

一切看起来都很好,你有输出。 什么是页面加载时间? 你有没有运行Apache Bench或任何对服务器看到它如何处理负载? 你有没有SAR输出?

你可以很容易地投入HipHop和Flashcache等高端技术而没有任何好处。

如果你怀疑自己的代码本身是不必要的慢,你可以在开发框中使用XDebug之类的东西来获取分析信息。 过去我曾经使用过这个技术来优化一个非常复杂的经济应用的核心逻辑中的关键function。 输出可以是巨大的,所以计划额外的300GB的空间。 像WinCacheGrind这样的软件将允许你解释结果。