在jmeter中SEVERE:无缓冲区空间可用(已达到最大连接数?):连接异常

时间:2019-04-13 15:43:36

标签: plugins jmeter mqtt jmeter-plugins

在jemeter中,我正在测试100000 MQTT并发用户,其上升速度为10000,循环计数为1。

我在Jmeter中用于MQTT的库是https://github.com/emqx/mqtt-jmeter。但是我越来越 严重:没有可用的缓冲区空间(是否已达到最大连接?):达到64378后,连接异常。

规格:     作业系统:Windows 10     内存:64 GB     CPU:i7

注册表编辑器中的配置: enter image description here

1 个答案:

答案 0 :(得分:2)

这是由于Windows的活动客户端连接过多。

临时TCP端口的默认数量为5000。有时,如果服务器的活动客户端连接过多,此数量可能不足。在这种情况下,短暂的TCP端口全部用完,无法再分配给新的客户端连接请求,从而导致错误消息(对于Java应用程序)

您应该通过编辑HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters注册表子项中的以下注册表值来指定TCP / IP设置:

  1. MaxUserPort

指定临时TCP端口的最大端口号。

  1. TcpNumConnections

指定TCP可以打开的最大并发连接数。该值会严重影响允许的并发osh.exe进程的数量。如果TcpNumConnections的值太小,则Windows无法将TCP端口分配给并行作业中的阶段,并且并行作业无法运行。 默认情况下,这些键不会添加到注册表中。

跟随此链接到Configuring the Windows registry: Specifying TCP / IP settings并进行必要的编辑。 希望这会有所帮助。