在jemeter中,我正在测试100000 MQTT并发用户,其上升速度为10000,循环计数为1。
我在Jmeter中用于MQTT的库是https://github.com/emqx/mqtt-jmeter。但是我越来越 严重:没有可用的缓冲区空间(是否已达到最大连接?):达到64378后,连接异常。
规格: 作业系统:Windows 10 内存:64 GB CPU:i7
答案 0 :(得分:2)
这是由于Windows的活动客户端连接过多。
临时TCP端口的默认数量为5000。有时,如果服务器的活动客户端连接过多,此数量可能不足。在这种情况下,短暂的TCP端口全部用完,无法再分配给新的客户端连接请求,从而导致错误消息(对于Java应用程序)
您应该通过编辑HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters
注册表子项中的以下注册表值来指定TCP / IP设置:
指定临时TCP端口的最大端口号。
指定TCP可以打开的最大并发连接数。该值会严重影响允许的并发osh.exe进程的数量。如果TcpNumConnections的值太小,则Windows无法将TCP端口分配给并行作业中的阶段,并且并行作业无法运行。 默认情况下,这些键不会添加到注册表中。
跟随此链接到Configuring the Windows registry: Specifying TCP / IP settings并进行必要的编辑。 希望这会有所帮助。