最近用websocketclient测试服务端能承受的最大长连接数,
遇到的主要两个问题:1、jvm能起最大线程数;2、单个ip可用端口最大65535。
解决方案:1、jvm调优;2、客户端机器绑定多个ip;
受机器内存影响,最后64G内存的机器最多大概可以起32万个连接。
主要代码:
WebSocketClient webSocketClient = new WebSocketClient(uri) {//创建websocketclient对象
Socket socket = new Socket(uri.getHost(),uri.getPort(), InetAddress.getByName(localIp),i);
webSocketClient.setSocket(socket);//绑定socket,指定客户端发送连接的本地ip以及端口
webSocketClient.connect();
本文介绍使用WebSocketClient进行服务端承受最大长连接数的测试过程。面对两大挑战:一是JVM的最大线程数限制;二是单个IP的可用端口数量上限。通过调整JVM参数并利用多IP绑定的方法,最终在64GB内存的机器上实现了约32万个连接。

被折叠的 条评论
为什么被折叠?



