打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
nginx jboss keepalive速度慢问题

最近在做Nginx+JBoss的性能测试,目标是通过性能测试的结果与Apache + JBoss进行比较,看看是不是有必要用Nginx替换Apache。目前Nginx+JBoss的方式采用的是pass_proxy的方式。从当前的测试结果来看,性能比Apache+JBoss有不小的提升。今天测试时碰到了一个有趣的问题,在Nginx专家叔度的协助下很快地解决了,也明白Nginx作为Proxy与后端服务交互的原理,是以为记。

今天试图配置JBoss nio(其实就是tomcat6.0中的nio)的模式进行性能测试,修改好Connecter的配置之后发现访问页面非常慢。于是测试通过8080端口直接访问JBoss,发现页面打开很快,因此可以得出问题出在Nginx与Jboss之间。于是找到我厂的Nginx专家帮忙排查,不一会专家就找出了问题的原因,打来电话给我解决。原来在修改Jboss nio配置时默认采用的是HTTP1.1协议,还默认开启了keepalive,而Nginx作为reverse proxy只支持HTTP1.0协议。Nginx在与后端Server交互时,采用HTTP1.0的模式,认为每个连接关闭才算请求完成,而后端server使用了keepalive,所以Nginx一直等到后端的这个keepalive连接关闭才返回给浏览器,所以访问页面非常慢。

问题根源找到了,修改起来就很快了,参照http://tomcat.apache.org/tomcat-6.0-doc/config/http.html文档,将maxKeepAliveRequest=1,关闭keepalive。重启jboss后,问题解决。

一点感想,学习Nginx还是得弄明白其内部处理原理,否则只能悲剧,无奈目前市面上的书多是讲述如何配置,对于这些原理机制所述甚少。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
关于Apache/Tomcat/JBOSS/Neginx/lighttpd/Jetty等一...
Server
服务器软件大盘点!
总结:Apache/Tomcat/JBOSS/Jetty/Nginx区别 .
第六章 Web开发实战1
WEB安全之中间件(Apache、IIS、Tomcat、Weblogic、Websphere、Jboos、Nginx)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服