首页 > php教程 > PHP开发 > 正文

Apache的性能优化(三)

黄舟
发布: 2016-12-21 11:25:00
原创
1293人浏览过

下面讨论以下默认没有安装的几个重要的模块。。(除了prefork)

常用的模块:

最常用的可能就是php和JAVA应用服务器的前端,我们当前应用不需要。此外,从性能上讲利用mod_gzip可以减少40%左右的流量,减少机器用于传输的负载,建议使用。我们使用的文件比较小,可以看看压缩算法的时间开销和 传输的负载的减小是不是合算。 而 mod_expires可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。但是我们使用的是内存文件系统,关于cache的优化可以完全不予考虑。

基于反相代理的WEB加速:

squid和mod_proxy都可以实现反相代理加速。而基于缓存的代理加速比起原有WEB服务,速度会有数量级的提升。同样内存文件系统不需要。

 

影响性能的关键指标MPM:

MPM(Multi-Processing Modules,多道处理模块)。MPM看起来和其它Apache模块非常类似。与其他类型模块不同的是,Apache必须有一个且仅有一个MPM处在运行中。。 指定MPM的方法

$ ./configure --help|grep mpm

显示如下:

--with-mpm=MPM

超能文献
超能文献

超能文献是一款革命性的AI驱动医学文献搜索引擎。

超能文献 14
查看详情 超能文献

Choose the process model for Apache to use.

MPM={beos|worker|prefork|mpmt_os2| perchild|leader|threadpool}

Beos、mpmt_os2分别是BeOS和OS/2上缺省的MPM,perchild主要设计目的是以不同的用户和组的身份来运行不同的子进程。这在运行多个需要CGI的虚拟主机时特别有用,会比1.3版中的SuExec机制做得更好。leader和threadpool都是基于worker的变体,还处于实验性阶段,某些情况下并不会按照预期设想的那样工作,所以Apache官方也并不推荐使用。因此,我们主要阐述prefork和worker这两种和性能关系最大的产品级MPM 。

 

如果不用“--with-mpm”显式指定某种MPM,prefork就是Unix平台上缺省的MPM。

prefork本身并没有使用到线程,2.0版使用它是为了与1.3版保持兼容性;prefork用单独的子进程来处理不同的请求,进程之间是彼此独立的,这也使其成为最稳定的MPM之一。

prefork的工作原理是,控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足MinSpareServers设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。

 以上就是Apache的性能优化(三)的内容,更多相关内容请关注PHP中文网(www.php.cn)! 

相关标签:
数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号