一般来说,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
- MaxRequestsPerChild 5000
- </IfModule>
参考资料:
Apache参考手册
Apache模块 mod_status
原文出处: http://www.javatang.com/archives/2008/02/19/0801260.html
分享到:
相关推荐
笔者总结了调试过程中的问题和解决办法如下,以供有类似需求的网管员参考(系统环境为Windows Server 2003和apache2.2.8): 1、http-mpm.conf设置 Apache的线程数控制文件为http-mpm.conf,在conf/exrtra目录下面,要...
1、更快的构建速度:Maven 3.6 在性能方面进行了改进,使用了更快的算法和优化,从而加快了构建的速度。 2、修复了一些 bug:Maven 3.6 版本对之前版本中的一些问题进行了修复,提高了稳定性和可靠性。 3、更新了...
1 概览 1 1 2 2 基础知识 2 2.1 Loadrunner工具使用 2 ...3.7 Apache/jboss/weblogic/oracle性能优化 11 3.8 计算机性能评测研究方向 11 3.9 Mercucy performance center 12 4 性能测试书籍 13 5 测试网站
[系统优化] 后台问题编辑富文本定位优化,自动聚焦优化 [新功能] 增加会员VIP功能,支持付费查看问题答案 [新功能] 优化题目显示,优化答案显示逻辑 [系统优化] 富文本搜索优化 [系统优化] 搜索页面标题引号显示优化
Java秒杀系统方案优化高性能高并发学习实战源代码以及笔记..zip 章节笔记 第1章-课程介绍及项目框架搭建 知识点 使用spring boot 搭建项目基础框架 使用Thymeleaf做页面展示,封装Result统一结果 集成 mybatis + ...
Nginx的[ X ]是一个HTTP引擎和反向代理服务器,邮件代理服务器,和...更多关于“Nginx的基础入门篇”、“下载及安装步骤命令”、“完整配置调试教程和实例”、“性能优化技巧”等请参加在线电子教程“Nginx配置大全”。
对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事。因此无论你是新手还是老手,该程序包都是一个不错的选择。 1、全面适合 Win2000/XP/2003 操作系统,IIS和Apache二选一安装。...
由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...
对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事。因此无论你是新手还是老手,该程序包都是一个不错的选择。 1、全面适合 Win2000/XP/2003 操作系统,IIS和Apache二选一...
对于使用windows IIS的服务器,则需要使用第三方的DLL文件更有效些,具体使用方法:下载REMEtags,RemEtag.zip,解压到服务器下的文件夹下,再启用ISAPI,即把RemEtag.dll添加到ISAPI应用下运行,再重启IIS即可生效。...
APMServ集合了Apache稳定安全的优点,并拥有跟IIS一样便捷的图形管理界面,同时支持MySQL 5.0 & 4.0两个版本,虚拟主机、虚拟目录、端口更改、SMTP、上传大小限制、自动全局变量、SSL证书制作、缓存性能优化等设置,...
上周对测试环境的所有服务器的tomcat都做了安全优化,其间也粗略做了一些性能优化,这里就简单记录分享下! 一、版本安全 升级当前的tomcat版本为最新稳定版本。故名思议,最新稳定版本就要兼顾最新和稳定这两个概念...
包含以上是个包,只要应用于LINUX下,用于TOMCAT优化apr连接器使用的 说明下关于TOMCAT调优一种建议 1 Connector介绍 1.1 Connector的种类 Tomcat源码中与connector相关的类位于org.apache.coyote包中,...
第一期 PHP性能优化准备篇图解PEAR安装 二,性能比较代码准备与调试 测试环境说明 操作系统:Windows xp Service Pack 3 PHP版本:PHP Version 5.2.11 Apache版本:Apache 2.0 Handler 第一步,下载
tomcat安装及配置教程包含tomcat官网下载,tomcat环境变量配置、tomcat的性能优化和tomcat监控调优等, 1. 下载Tomcat:首先,您需要从Apache Tomcat官方网站(https://tomcat.apache.org/)下载最新版本的Tomcat...
性能优化和减少的垃圾收集 重构的应用程序部署器,具有可选的独立部署器,允许在Web应用程序投入生产之前进行验证和编译 使用JMX和管理器Web应用程序完成服务器监视 可扩展性和可靠性增强 改进了Taglibs的处理,包括...
8. windows和linux下的批量生成html报告脚本(因两种系统编码格式不同,报告模版自动切换) 9. 默认1G运行内存改为2G,(设置过4G没问题) 10.改进jtl解析粒度,避免大文件解析报错,如仍需修改,见连接内详细说明 ...
用了这个扩展之后,就使得tomcat可以借助于apache httpd的力量,性能得以提升,尤其是处理静态文件时效率更高。Jboss native,实际上就是tomcat的这个native的扩展,只不过被jboss又添进了一些为了和jboss更好协作而...