LAMP 优化 之一 apache/httpd
来源:互联网 发布:明实录知乎 编辑:程序博客网 时间:2024/06/11 04:33
先解释一下LAMP:
L - linux
A- apache
M-mysql
P- php
(原文链接 http://ddbiz.com/?p=236)
我们的服务多架构在这上面,我们会分别讨论不同部分对整个系统的影响和调优办法。当然最好的指导手册还是应用的原始文档。我们将结合不同的现象,分别讨论各自的解决办法
现象:
近日服务器的web访问变得很慢, 很多图片都要刷新才能显示出来。操作系统为 CentOS 5.x
系统跟踪
查看一下网络连接数据
netstat -anlp | grep ":80" | wc -l
127
只有区区100多个建立的请求。
再看看http进程
ps auxf | grep http | wc -l
48
怎么只有48个进程在服务。
打开配置文件,prefork MPM配置如下
<IfModule prefork.c>
ServerLimit 200
StartServers 30
MinSpareServers 10
MaxSpareServers 50
MaxClients 200
MaxRequestsPerChild 1000
</IfModule>
根据文档(以下内容出自httpd 手册):
ServerLimit
对于preforkMPM,这个指令设置了MaxClients最大允许配置的数值。任何在重启期间对这个指令的改变都将被忽略,但对MaxClients的修改却会生效。
使用这个指令时要特别当心。如果将ServerLimit设置成一个高出实际需要许多的值,将会有过多的共享内存被分配。如果将ServerLimit和MaxClients设置成超过系统的处理能力,Apache可能无法启动,或者系统将变得不稳定。
对于preforkMPM,只有在你需要将MaxClients设置成高于默认值256的时候才需要使用这个指令。要将此指令的值保持和MaxClients一样。
MaxClients
MaxClients 指令设置了允许同时伺服的最大接入请求数量。任何超过MaxClients限制的请求都将进入等候队列,直到达到ListenBacklog指令限制的最大值为止。一旦一个链接被释放,队列中的请求将得到服务。
对于非线程型的MPM(也就是prefork),MaxClients表示可以用于伺服客户端请求的最大子进程数量,默认值是256。要增大这个值,你必须同时增大ServerLimit 。
StartServers
StartServers指令设置了服务器启动时建立的子进程数量。因为子进程数量动态的取决于负载的轻重,所有一般没有必要调整这个参数。不同的MPM默认值也不一样。对于prefork默认值是"5"。
MaxRequestsPerChild
MaxRequestsPerChild指令设置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为"0",子进程将永远不会结束。
在mpm_netware和mpm_winnt上的默认值是"0"。
将MaxRequestsPerChild设置成非零值有两个好处:
- 可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
- 给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
看上去需要调整一下了,结果如下:
# prefork MPM
<IfModule prefork.c>
ServerLimit 2048
#StartServers 60
#MinSpareServers 10
#MaxSpareServers 50
MaxClients 2048
MaxRequestsPerChild 1000
</IfModule>
然后重启服务,客户端访问快了很多(原文链接 http://ddbiz.com/?p=236)
- LAMP 优化 之一 apache/httpd
- centos7 LAMP安装 apache(httpd) + php + mysql 安装步骤整理
- Lamp:Linux+apache(httpd)+mysql(mariadb)+php
- apache配置文件“httpd.conf”优化方案
- 小内存VPS httpd参数优化 apache参数优化
- apache httpd
- CentOS下LAMP环境搭建之一源码编译安装apache
- LAMP环境搭建系列之三:编译安装Apache httpd 2.4.29
- 编译安装LAMP之httpd
- lamp (apache)
- [转]LAMP(Linux+Apache+MySQL+PHP)服务器的性能优化
- LAMP(Linux+Apache+MySQL+PHP)服务器的性能优化
- [转]LAMP(Linux+Apache+MySQL+PHP)服务器的性能优化
- LAMP(Linux+Apache+MySQL+PHP)服务器的性能优化
- LAMP系统性能调优 优化Apache和PHP
- LAMP(Linux+Apache+Mysql+PHP)优化技巧
- LAMP(Linux+Apache+MySQL+PHP)服务器的性能优化
- LAMP系统性能调优 优化Apache和PHP
- 职业素质 能力。。。。。。。。。。
- 郁闷中
- 标准 C I/O 之 ferror () 函数
- MySQL数据传输的一些小问题
- PHPCMS2008模板系统更新的简单分析
- LAMP 优化 之一 apache/httpd
- 软件项目计划书的内容
- 刚来,随意一下
- 一个程序员对学弟学妹建议
- 你看到哪哭了
- 女博士发网帖征婚 出语数外三题考倒网友
- 行转列,列转行,互逆的问题
- VB 语言程序设计(关于网站首页)
- HTTP压缩工作原理