最近用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();