我编写了java服务器应用程序,它可以同时接受3800-4000个网络连接,并且cpu /网络负载很低(<40%) 但是在此阈值之后它会拒绝新连接或通过删除旧连接来接受它,因此实时连接数约为3800-4000(数量不同)。
任何人都可以给我至少一个提示,这可能是瓶颈 - 我的软件本身,操作系统配置或CPU / NAT(不管他们说他们的负载低于40%)?
CPU:4核(一个核心加载50%,其他3 - 25%) 环境:Amazon EC2,Windows Server 2003 R2
编辑: 内存使用量小于500 Mb JRE是32位,1.6.0_30 MaxUserPort设置为65534
答案 0 :(得分:0)
拒绝新连接
正确。 TCP待办事项队列填满后,将不再接受其他连接。 Windows将发出RST,其他平台将忽略传入的请求。在第一种情况下,客户端将拒绝连接,在第二种情况下,客户端将获得连接超时&#39;。
或通过杀死旧的
来接受它
我在20多年的网络中从未见过这一点。有什么症状导致你得出这个结论?