Java 如何提高Openfire并发连接限制?
我试图测试Openfire可以处理多少并发用户连接。我注意到有4000个用户的限制。如何在Openfire上处理50000个或更多并发连接?应该进行什么配置来处理大量连接 我的服务器配置 出于测试目的,我在virtualbox上使用虚拟服务器设置 情景 我正在测试Openfire 3.9.3,没有连接管理器,也没有SSL。服务器是安装在Virtualbox上的虚拟机,具有3.00GHz处理器和512MB RAM。它是一个标准的Openfire安装,具有最多100个连接的MySQL数据库连接 当使用[请注意,我没有设置集群]中的负载测试脚本进行测试时,用户连接的数量稳步增加,直到4000个并发用户连接。一旦连接了4000个用户,所有连接都会开始断开,直到所有连接都断开,我得到一个错误,如下所示:Java 如何提高Openfire并发连接限制?,java,xmpp,server,openfire,jabberd2,Java,Xmpp,Server,Openfire,Jabberd2,我试图测试Openfire可以处理多少并发用户连接。我注意到有4000个用户的限制。如何在Openfire上处理50000个或更多并发连接?应该进行什么配置来处理大量连接 我的服务器配置 出于测试目的,我在virtualbox上使用虚拟服务器设置 情景 我正在测试Openfire 3.9.3,没有连接管理器,也没有SSL。服务器是安装在Virtualbox上的虚拟机,具有3.00GHz处理器和512MB RAM。它是一个标准的Openfire安装,具有最多100个连接的MySQL数据库连接 当使
java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:460)
at java.net.Socket.<init>(Socket.java:431)
at java.net.Socket.<init>(Socket.java:211)
at OpenfireClusterStressTest.testMultipleLogin(OpenfireClusterStressTest.java:111)
at OpenfireClusterStressTest.main(OpenfireClusterStressTest.java:46)
发行
无法处理超过4000个并发用户连接。如何提高这个限额?
需要什么样的openfire配置才能达到同样的效果?您没有达到openfire施加的限制。类Unix系统限制打开的文件句柄的最大数量,这包括进程可能具有的TCP套接字。您需要设置一个更高的限制,它似乎当前设置为4000左右。通常使用ulimit命令修改限制 另见:
您没有达到Openfire设定的限制。类Unix系统限制打开的文件句柄的最大数量,这包括进程可能具有的TCP套接字。您需要设置一个更高的限制,它似乎当前设置为4000左右。通常使用ulimit命令修改限制 另见:
添加到@Flow的答案中 如果您试图从另一台计算机连接,那么您也必须增加该计算机的ulimit 错误 我已经提高了打开文件的最大数量限制。 但是,我正试图从另一台计算机连接,而同一台计算机的ulimit设置为默认值。 因此,在达到4000个连接时,测试将失败 对我有效的解决方案 当我更新运行测试脚本的计算机的ulimit时,它工作得很好。
我现在可以实现20000个并发连接。添加到@Flow的答案中 如果您试图从另一台计算机连接,那么您也必须增加该计算机的ulimit 错误 我已经提高了打开文件的最大数量限制。 但是,我正试图从另一台计算机连接,而同一台计算机的ulimit设置为默认值。 因此,在达到4000个连接时,测试将失败 对我有效的解决方案 当我更新运行测试脚本的计算机的ulimit时,它工作得很好。
我现在可以实现20000个并发连接。我也尝试过同样的方法,但没有效果。我仍然会犯同样的错误。ulimit设置为20000。您是如何验证ulimit设置的?ulimit-Hn&ulimit-sn您知道这会报告当前用户的ulimit吗?是的。我已经为root和*设置了相同的设置,我尝试了相同的设置,但没有帮助。我仍然会犯同样的错误。ulimit设置为20000。您是如何验证ulimit设置的?ulimit-Hn&ulimit-sn您知道这会报告当前用户的ulimit吗?是的。我已经为root和*
java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:460)
at java.net.Socket.<init>(Socket.java:431)
at java.net.Socket.<init>(Socket.java:211)
at OpenfireClusterStressTest.testMultipleLogin(OpenfireClusterStressTest.java:111)
at OpenfireClusterStressTest.main(OpenfireClusterStressTest.java:46)