Tomcat做推送服务引出的对TCP协议的调优
博客专区 > qalong 的博客 > 博客详情
Tomcat做推送服务引出的对TCP协议的调优
qalong 发表于2年前
Tomcat做推送服务引出的对TCP协议的调优
  • 发表于 2年前
  • 阅读 98
  • 收藏 3
  • 点赞 1
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: Tomact的comet服务引出的对tcp协议的调优

背景

公司有个会议的产品,使用Tomcat的Comet作为长连接推送服务,随着产品的用户量越来越大,出现了多次无响应事件。

产品在Linux和Windows平台上都有部署,但是Linux一直比较稳定,基本上是Windows出问题。而且公司的产品大多部署在银行内部,所以无法直接服务器检查,因为这个问题一直头疼了好一阵。

分析

公司的会议产品主要是用作iPad的推送服务器,猜测网络不好的时候大量的iPad的产生异常的网络连接阻塞了服务器。

检查产品代码发现是采用Tomcat官方推荐的Comet实现代码,没有发现问题。

通过jVisualVM等工具分析本地Tomcat的服务器连接池和内存溢出,没有发现问题。

 

而且Linux下比较稳定,Windows容易出现问题,从这点猜测Linux平台和Windows平台的差异也是一个入口点,所以最大的怀疑对象就是网络不稳定导致的相关问题。

重现

根据不断的查找TCP相关协议,猜测客户服务器那边很可能出现了TIME_WAIT,CLOSE_WAIT的TCP连接异常(这点实在是苦逼啊,没法从客户那边的服务器取证。。。)

既然有了怀疑对象就好说了,验证中......

既然网上的文章大都在讲怎么优化,那我这里为了验证问题只能反着来了(实际上反证法没法很准去的验证问题,因为多个异常的现象可能会一样啊,无论如何实验进行下去!)。

调整TcpTimedWaitDelay,MaxUserPort 参数

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters]  "TcpTimedWaitDelay"=dword:0000001e
"MaxUserPort"= 20000

长时间的观察中,未完待续。。。

 

参考资料

http://www.cnblogs.com/tianzhiliang/articles/2400176.html

http://blog.csdn.net/mhfh611/article/details/8769617

http://blog.csdn.net/shootyou/article/details/6622226

http://blog.csdn.net/zdwzzu2006/article/details/7716904

共有 人打赏支持
粉丝 5
博文 10
码字总数 3738
×
qalong
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: