公司网站的apache和tomcat都是使用的默认配置,但最近访问量增长得比较快,因此公司网站出了点问题,解决过程如下:
一、发现演示站有时候会无响应,浏览器不报错,但一直等待。这时用ps aux|grep http|wc -l命令查看apache进程数,发现为150,这是apache默认的最大连接数,于是修改httpd.conf,将MaxKeepAliveRequests设为1000,使用命令apache2ctl -k restart重启apache使配置生效。
二、重启后演示站可以正常运行,但几个小时之后,又停止响应,浏览器一直等待。这时查看apache进程数,发现还是150。
三、于是检查Tomcat的Server.xml,发现AJP端口的最大线程数不对,于是修改如下:
<Connector URIEncoding="GBK" port="8009"
maxThreads="1000" minSpareThreads="25" maxSpareThreads="250"
enableLookups="false" redirectPort="8443" acceptCount="500"
debug="0" connectionTimeout="600000"
disableUploadTimeout="true"
protocol="AJP/1.3" />
四、重启Tomcat运行几个小时后,又出现故障,现象如前,在150个进程时停止响应。于是又修改httpd.conf中的perfork部分:
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 100
ServerLimit 1000
MaxClients 1000
MaxRequestsPerChild 10
</IfModule>
五、重启apache后问题依旧,没辙了,找来找去,终于在mod_jk.log中找到了线索,其中
有这样的错误信息:
ajp_send_request::jk_ajp_common.c (1244): (tomcat1) increase the backend idle connection timeout or the connection_pool_minsize
六、于是四处搜资料,得知需要修改workers.properties,按照网上文章,加入如下行:
worker.tomcat1.connection_pool_size=1000
worker.tomcat1.connection_pool_minsize=250
worker.tomcat1.connection_pool_timeout=600
七、重启后问题依旧,再搜,发现还需要在workers.properties中如下行:
worker.tomcat1.socket_timeout=20
八、重启后问题解决,运行一天以后进程数依然只有80个。
问题虽然解决了,但自己对Apache和JK_Mod不精通,有些参数只是看到了就拿来改改试试,不求甚解。因此还有一些疑惑:
一、在另一个站点上使用了默认的workers.properties,没有加connection_pool_size等参数,但访问量明显比我们公司的网站大,却一直运行良好。怀疑跟我们公司网站上提供了几个大文件下载有关,但没有证实。
二、在没有加上worker.tomcat1.socket_timeout=20之前,所有的进程/线程数相关的参数都已经改了,但依然在达到150个进程时停止响应,原因不明。
三、在没有加上worker.tomcat1.socket_timeout=20之前,进程数几小时内就会达到150,但加上以后进程数增长得较为缓慢,一天以后都只有80,原因不明。
看来得找时间好好研究一下Apache和JK_Mod了。
分享到:
相关推荐
超级无敌web服务器 linux+apache+tomcat+mysql+jsp+php 整合安装 自己的安装过程,以前发表在新浪博客,现在换地盘了转过来... 自我感觉写得还是不错滴.. 在安装过程更是学到了很多东西 做好这个项目以后linux...
apache+mysql+php+phpadmin+zend+tomcat+jsp+perl+cgi.exeapache+mysql+php+phpadmin+zend+tomcat+jsp+perl+cgi.exeapache+mysql+php+phpadmin+zend+tomcat+jsp+perl+cgi.exe
在RedHat_AS5.0下搭建Apache+MySQL+PHP+Tomcat+JSP平台.doc
XP搭建Apache+Tomcat+JSP+PHP+MYSQL环境教程 由于附件大小限制,没有添加JDK。 如果需要安装教程或者有问题交流反馈,请到博客 http://blog.csdn.net/itas109 压缩包文件: 1、apache_2.2.11-win32-x86-no_ssl.msi...
这个软件是本人编写的,用来建立jsp和php的测试环境,只要先安装好所需软件,然后选择好各软件的安装目录,点击“自动配置”就可以配置好,省去了修改众多的配置文件,如有问题,请电邮:zzyyxxjc@163.com
apache+tomcat7+jk负载均衡
apache+tomcat+mod_jk整合文档,内有安装包。apache+tomcat+mod_jk整合文档,内有安装包。
LINUX+ORACLE+APACHE+TOMCAT+JSP完全配置手册
详细的教你利用Apache+Tomcat配置JSP开发环境,各种环境变量的配置
对于Apache+Tomcat+MySQL+jsp+php的整合,针对不同的Tomcat和apache的版本,稍微有些区别。 即使你E文很好,去看Tomcat和Apache的手册,也不一定能完全整合成功。暑假在家,网速不像 在交大那样---老黄牛拉破车样的慢...
Apache+Tomcat集群配置详解 把Apache安装为运行在80端口的Windows服务,安装成功后在系统服务列表中可以看到Apache2.2服务。对于已安装IIS的机器,在启动Apache服务之前必须首先停止IIS Admin服务,不然会因为端口...
Apache2.2.4+Tomcat6 Apache、Tomcat整合 proxy方式 单台主机单站点集群、负载均衡
apache+tomcat整合.pdf
Apache+tomcat服务器环境中多域名的配置Apache+tomcat服务器环境中多域名的配置
Apache+Tomcat+MySQL+jsp+php(jsp、java 环境和php共存)
linux 配置apache+tomcat
Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结
Apache+Tomcat+JK 实现集群负载均衡
apache+tomcat整合配置 apache+tomcat整合配置 apache+tomcat整合配置
CentOS 6.x使用yum安装Apache+PHP+Tomcat(JSP)+MySQL教程,centos5及以下的教程比较多,本文档里面没有涉及