永发信息网

如何优化Apache性能

答案:1  悬赏:20  手机版
解决时间 2021-02-05 08:17
如何优化Apache性能
最佳答案
主要通过ThreadsPerChild和MaxRequestsPerChild两个参数来优化Apache。
ThreadsPerChild
这个参数用于设置每个进程的线程数, 子进程在启动时建立这些线程后就不再建立新的线程了. 一方面因为mpm_winnt不能启动多个进程, 所以这个数值要足够大,以便可以处理可能的请求高峰; 另一方面该参数以服务器的响应速度为准的, 数目太大的反而会变慢。因此需要综合均衡一个合理的数值。mpm_winnt上的默认值是64, 最大值是1920. 这里建议设置为100-500之间,服务器性能高的话值大一些,反之值小一些。
MaxRequestsPerChild
该参数表示每个子进程能够处理的最大请求数, 即同时间内子进程数目.设置为零表示不限制, mpm_winnt上的默认值就是0.
官方参考手册中不建议设置为0, 主要基于两点考虑: (1) 可以防止(偶然的)内存泄漏无限进行,从而耗尽内存; (2) 给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
因此这个参数的值更大程度上取决于服务器的内存,如果内存比较大的话可以设置为0或很大的数字,否则设置一个小的数值。需要说明的是,如果这个值设置的太小的话会造成Apache频繁重启,在日志文件中会看到如下的文字:Process exiting because it reached MaxRequestsPerChild. Signaling the parent,这样一来降低了Apache的总体性能。
另外,可以通过查看Apache提供的server-status(状态报告)来验证当前所设置数值是否合理,在httpd.conf文件中做如下设置来打开它:
# 首先需要加载mod_status模块
LoadModule status_module modules/mod_status.so

# 然后设置访问的地址

SetHandler server-status
Order deny,allow
Deny from all
# 如果限制某个IP访问则设置为 Allow from 192.168.1.1
Allow from all

综合来说,因为Windows NT下Apache只能启动父子两个进程,因此只能通过增大单个进程的线程数以及单个进程能够处理的最大请求数来进行优化。其他优化的参数同Linux系统下是一样的,大家可以加以参考。下面针对上述两个参数给出一个建议的设置:

ThreadsPerChild 250
MaxRequestsPerChild 5000
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
挖掘机学徒有工资么?工资多少?包吃住么?有
微星x340 笔记本怎么换内存 笔记本是白色超薄
怎样能破解停车场收费系统管理员密码
肥城王瓜店四季文化酒店ktv可以团购吗
搜神传插曲
北京市交通运输考试中心我想知道这个在什么地
win8 远程桌面怎么添加到桌面图标
华为typec数据线可用于华为nova手机充电吗
重庆美缀美在哪里?
使用尿素的浓度
康桥名城东门(人行门)地址有知道的么?有点事
太极熊猫刚领悟的专属技能不小心炼了能找回吗
乐芙蛋糕坊在哪里啊,我有事要去这个地方
YUQ优口净水机软水机商务机水厂设备前置过滤
跟朋友聊天,适合聊什么话题
推荐资讯
图甲为一款有高、低温两档的家用蒸汽电熨斗,
螺旋丸有几个版本
女性为什么会得尿道炎?
招远的金子比别的地方出的黄金便宜吗?
刚好遇见你荆轲版歌词
我想问一下,在当当网购了几本书,查询我的订
小家庭烧菜馆这个地址在什么地方,我要处理点
小发明提案,跪求
谁知道420J2不锈铁的所有化学成份,详细的,
电子商务是指在网络环境下,实现消费者的网上
新买的TCL液晶电视看有线电视为什么有亮点?
VERO MODA我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?