性能调优高负载Apache服务器
我期待了解一些服务器性能问题,我看到一个(对我们来说)重负载的Web服务器。 环境如下: Debian Lenny(所有稳定的软件包+修补安全更新) Apache 2.2.9 PHP 5.2.6 亚马逊EC2大型实例 我们所看到的行为是,networking通常会感觉到响应,但是稍微延迟一点就可以开始处理请求 – 有时候会有一小部分时间,有时甚至是2-3秒。 服务器上的实际负载被报告为非常高 – 通常为10.xx或20.xx,如上所报告的。 此外,在这些时间(甚至是vi )在服务器上运行其他事情是非常缓慢的,所以负载肯定在那里。 奇怪的是,阿帕奇保持非常敏感,除了最初的延迟。 我们使用prefork来configurationApache如下: StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 KeepAlive为: KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 查看服务器状态页面,即使在这些负载很重的时候,我们也很less触及客户端上限,通常服务于80-100个请求,其中许多处于保持活动状态。 这告诉我排除最初的请求缓慢“等待处理程序”,但我可能是错的。 Amazon CloudWatch监控告诉我,即使我们的操作系统报告的负载大于15,我们的实例CPU利用率也在75-80%之间。 top示例输出: top – 15:47:06 up 31 days, 1:38, 8 users, load average: 11.46, 7.10, 6.56 […]