您的位置:首页 > 运维架构 > Tomcat

Windows:Apache与Tomcat集群调优

2013-09-27 14:19 260 查看
一、

通过 httpd -l 可以,查看自己的Apache部署的是哪个模块。

D:\wamp\bin\apache\Apache2.2.21\bin\httpd -l
Complied in modules:
core.c
mod_win32.c
mpm_winnt.c
http_core.c
mod_so.c


看到里面有mpm_winnt.c ,我们就在httpd-mpm.conf的<IfModule mpm_winnt_module>进行配置

二、 打开 httpd.conf 文件,

1. 将“#Include conf/extra/httpd-mpm.conf”前面的 “#” 去掉,保存。

2. 打开 httpd-mpm.conf ,修改如下

<IfModule mpm_winnt_module>

ThreadLimit 350

ThreadsPerChild 350

MaxRequestsPerChild 10000

Win32DisableAcceptEx

EnableMMAP off

EnableSendfile off

</IfModule>

三、 打开 httpd.conf 文件,

1. 将“#Include conf/extra/httpd-default.conf”前面的 “#” 去掉,保存。

2. 打开 httpd-default.conf ,修改如下

Timeout50

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

Timeout 300

//如300秒后没有收到或者送出任何数据就切断连接;timeout 设置apache等待一个连续读写操作的时间长度,也就是连接后,apache 等待客户端完成请求发送的时间,或者相应开始之后,apache写出数据到客户端连接的时间长度,

无论对于那种应用来说,300秒的缺省值都有些过长了,意味着,如果客户端发生某种未知因素导致的迟滞连接,服务器的一个连接和与之对应的所有资源都要维持300秒,这个对于重载服务器来说实在是有些过长了,建议将此值设置得小一些,这个长度只要足够保证各种客户端的应用能够正常传递数据即可。视各种客户端的连接状况和服务器的繁忙程度。一般来说设置3-5;

KeepAlive On

//使用保持连接功能,即客户一次请求只能响应一个文件,建议用户将此参数的值设置为on,即允许保持连接的功能;如果同一页面包含大量的静态文件的应用,设置为on,以提高性能;如果用于主要为动态页面的应用,设置为off,以节约内存资源;如果服务器前跑有squid或者其他七层设备,设置为On;

MaxKeepAliveRequests 100

//在使用保持连接功能时,设置客户一次请求连接能响应文件的最大上限;也就是每个连接允许请求的数量(最多保持多少个活动的长链接)。如果将此设置为“0”,将不限制请求的数目。建议将此值设为100-500之间的一个值,以确保最优的服务器性能。

KeepAliveTimeout 5

在使用保持连接功能时,两个相邻的连接时间间隔超过5秒就切断连接;也就是 设置持久连接中服务器在两次请求之间等待的秒数,对于高负荷服务器来说Keeplivetimeout 值较大会导致一些性能方面的问题,超时值越大,与空闲客户端保持的连接进程就越多;

四、增加AJP 最大线程数

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
maxThread="4096" />

由于集群是通过AJP 端口连接,所以设置最大线程数可以提交应用服务器的并发量,不设置默认 最大线程数为200。当请求线程超过200,后台提示:All threads(200) are currently busy。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: