一般来说,WinNT系统下使用IIS,而Apache在Linux下应用的比较多,但是依然有很多人在WinNT系统下使用Apache而非IIS,可能是基于对Windows系统的熟悉吧。今天就来说一下在Windows系统下如果优化Apache的性能。
mpm_winnt.c是专门针对Windows NT优化的MPM(多路处理模块),它使用一个单独的父进程产生一个单独的子进程,在这个子进程中轮流产生多个线程来处理请求。也就是说mpm_winnt只能启动父子两个进程, 不能像Linux下那样同时启动多个进程。
mpm_winnt主要通过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
- # 然后设置访问的地址
- <Location /server-status>
- SetHandler server-status
- Order deny,allow
- Deny from all
- # 如果限制某个IP访问则设置为 Allow from 192.168.1.1
- Allow from all
- </Location>
综合来说,因为Windows NT下Apache只能启动父子两个进程,因此只能通过增大单个进程的线程数以及单个进程能够处理的最大请求数来进行优化。其他优化的参数同Linux系统下是一样的,大家可以加以参考。下面针对上述两个参数给出一个建议的设置:
- <IfModule mpm_winnt.c>
- ThreadsPerChild 250
分享到:
相关推荐
奈恩-mpm-fea 该项目包含来自的计算力学软件源代码。 要开始使用,请访问本网站的wiki页面的页面。 该项目于2015年8月14日开始,当时该服务已从导出,而该服务被终止为开发平台。
具有切割和耦合功能的高性能 MLS-MPM 求解器 (CPIC) (现已获得 MIT 许可!) 具有位移不连续性和双向刚体耦合的移动最小二乘材料点方法,图形学 ACM 交易 (SIGGRAPH 2018)。 作者: 、 、中国科技 、 、 、 、 。...
High-Performance MLS-MPM Solver with Cutting and Coupling.清华姚班学神胡渊鸣博士(MIT)的杰作。
笔者总结了调试过程中的问题和解决办法如下,以供有类似需求的网管员参考(系统环境为Windows Server 2003和apache2.2.8): 1、http-mpm.conf设置 Apache的线程数控制文件为http-mpm.conf,在conf/exrtra目录下面,要...
CMMI三级认证项目经理EPG、MPM,相关问题和答案参考
mpmSteps:定义分割过程每次迭代时MPM算法的重复次数(默认=1); EM/MPM 方法是迭代的,在多次迭代后稳定。 通常,迭代次数越多,分割效果越好,但会增加分割时间。 使用较低的 'steps' 和 'mpmSteps' 值来减少...
高性能材料点法(CB-Geo mpm) 文献资料 请参阅以获取有关编译和运行代码的信息。 该文档还包括MPM理论。 如果您在运行或编译MPM代码时遇到任何问题,请在上打开一个问题。 在Docker上运行代码 CB-Geo MPM代码的...
MPM388型压阻式压力传感器
CB-Geo高性能材料点方法(CB-Geo mpm) 启用了高性能计算(HPC)的CB-Geo MPM代码可在。文献资料CB-Geo MPM文档包含四个部分:引文如果您使用我们的代码发布结果,请引用以下论文来感谢我们的工作: Kumar,K.,...
在Microsoft Windows中使用Apache 在Microsoft Windows上编译Apache ab - Apache HTTP服务器性能测试工具 apachectl - Apache HTTP服务器控制接口 apxs - Apache 扩展工具 configure - 配置源代码树 dbmmanage - ...
本文章来给各位同学介绍判断apache的工作模式是prefork模式还是worker...知道模式之后我们可以在apache的confextrahttpd-mpm.conf 进行编辑了 # # Server-Pool Management (MPM specific) # # # PidFile: The file i
(2)IQ-MPM:非粘性强双向耦合固体和流体的界面正交材料点方法,于芳*,曲子印*(等值),李敏晨,张新欣,朱以新,Mridul Aanjaneya姜晨帆(SIGGRAPH 2020) 编译疑难解答 如果任何人在使用GNU 9.3.0或其他版本时...
麦克 MPM180/MPM185 TO-8封装压阻式压力敏感元件pdf,麦克 MPM180/MPM185 TO-8封装压阻式压力敏感元件
西门子数字化工厂介绍-制造过程管理 (MPM).ppt
使用docker run -d -p 80:80 -v /path/to/site/files:/var/www -v /path/to/logs:/var/log inhumantsar/www 显着变化阿帕奇“userdir”和“welcome”配置被删除worker mpm 已启用,事件有问题。 天啊。 使用 mod_...
在编译apache时必须选择也只能选择一个MPM,对类UNIX系统,有几个不同的MPM可供选择,它们会影响到apache的速度和可伸缩性。 Prefork MPM : 这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的...
Apache 1是一个UNIX应用程序,移植到其他平台上会受到很多的限制,一些UNIX特性使得Apache 1在其他平台(如Windows和Netware)上性能较差,而Apache 2摆脱了这些特性的限制,使其成为一个真正的跨平台服务器。...
apache中文手册: Apache HTTP Server Version 2.2 文档 版本说明 Apache 2.1/2.2 版本的新特性 Apache 2.0 版本的新特性 从 2.0 升级到 2.2 Apache许可证 参考手册 编译与安装 启动 停止与重新启动 运行时...
用于模拟软体和流体MLS-MPM的2D实现