Jmeter作为性能测试客户端,在单机硬件性能够用的情况下可以支撑高并发测试,当然,可以采用Jmeter集群方式进行更高性能测试。这里采用单机测试。
以Http性能测试为例,影响连接数的几个因素:
1)ulimit
ulimit -n 查看单个进程能够打开的最大文件数,一个socket连接会占用一个文件句柄。
2) 内存
系统能创建的线程数的计算公式如下:
(MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of threads
MaxProcessMemory 指的是一个进程的最大内存,64位系统可以认为无上限、只受限于物理可用内存
JVMMemory JVM内存
ReservedOsMemory 保留的操作系统内存
ThreadStackSize 线程栈的大小
有2个方法可以提高创建线程的数量:
减少JVM的heap size;
减少单个线程栈的大小,在JVM启动中使用-Xss参数。
3)端口
查看端口范围:
[root@as02 log]# cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000
如不满足需求可以修改
每个Jmeter客户端socket连接会占用一个端口号,此范围限定了端口最多支持多少连接
原帖地址:
https://blog.csdn.net/sundongsdu/article/details/46914559