设为首页 收藏本站
查看: 533|回复: 0

[经验分享] Apache+Tomcat:JSP长时间等待不响应的问题

[复制链接]

尚未签到

发表于 2017-1-9 06:32:19 | 显示全部楼层 |阅读模式
公司网站的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了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-325647-1-1.html 上篇帖子: Apache,Tomcat集群和负载均衡(组图) 下篇帖子: Apache 和tomcat整合 php下访问Java项目
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表