日期:2014-05-20  浏览次数:20715 次

Socket通讯并发量大的情况下超时问题
我写了一个SocketServer的服务端,该服务端进行数据库操作,返回xml报文到客户端。该server运行在AIX5.3上,我使用loadrunner进行压力测试,当并发用户达到80以上的时候,响应时间平均为0.83秒,但是再增加并发用户数的时候就有部分出现Connection   Time   out的通讯异常,怀疑是服务端已经超出最大Socket连接数。我修改了/etc/security/ulimit文件中的snofile为5000,但情况依然。同样的机器,我在Weblogic上的web应用通过http访问,并发可以达到400用户,响应时间3秒,却没有出现连接超时的情况。
我的客户端一般并发回在200以上甚至到400的,如何解决并发用户数大的情况下socket无法连接的情况?望大家帮忙,谢谢!

------解决方案--------------------
JVM管理的内存加大点,不知道行不?
------解决方案--------------------
up
------解决方案--------------------
你用拉线程拉没?
------解决方案--------------------
我以前遇到过,记不太清楚原因了,好像是因为server端异常退出了(性能问题导致的内存益出什么的)——加内存
还有,可能你的连接超时时间设的是1秒,把它改大点。
------解决方案--------------------
线程应该是一定用了
估计就是内存不够把...
要不就是处理器太菜