jmeter压测4U96核 128G服务器 测试结果很难看
jmeter压测4U96核 128G服务器 测试结果很难看,不知道是什么原因,这个结果比SSD笔记本都还差,求大佬给思路如何验证 这么差的原因是什么。
系统环境
Windows server 2012 R2 DataCenter x64
- TcpNumConnections = 1090584575(Decimal)
- MaxUserPort = 65534 (Decimal)
- MaxHashTableSize = 65536 (Decimal)
- MaxFreeTcbs = 16000 (Decimal)
硬件配置
CPU: Xeon(R) E7-8890 v4
4U96核 128G 物理服务器非虚拟机
JDK版本
1.8
被测试应用
springboot 2.1.2.RELEASE
测试url
返回hello world 不做其他任何处理
web容器
undertow
server:
port: 9081
# 下面是配置undertow作为服务器的参数
undertow:
# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
io-threads: 32
# 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载
worker-threads: 512
# 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
# 每块buffer的空间大小,越小的空间被利用越充分
buffer-size: 1024
# 是否分配的直接内存
direct-buffers: true
应用JVM配置
-Xmx8g -Xms8g -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled -XX:+HeapDumpOnOutOfMemoryError
jmeter测试参数
模拟用户1000
持续300秒
测试结果
同网段局域网
1、被测试服务器101 跑应用,服务器96跑jmeter
2、被测试服务器101 跑应用,服务器101跑jmeter
测试结果差不多,这里截图是方式2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(23)
错误率很高啊,有可能是端口复用的问题导致压不上去
错误原因就2个端口耗尽和超时,不知道为什么会产生,因为压测的时候我同时在96ping101,结果也正常<1ms,浏览器打开压测的URL 也能打开。
回复
改linux吧
windows 2012 ,不是linux,没这个参数。只有注册表的TCP最大连接数那几个参数
ulimit -a openfile改了没有?
回复
@JavaGG : 能改就不纠结了,客户非得用windows 因为他们每人会linux
jmeter用的长连接,会复用现在是30秒
改成5秒依旧。 TcpNumConnections = 1090584575(Decimal) MaxUserPort = 65534 (Decimal) MaxHashTableSize = 65536 (Decimal) MaxFreeTcbs = 16000 (Decimal) TcpTimedWaitDelay = 5 (Decimal)
查看下服务器96 的 tcp参数配置,TcpTimedWaitDelay(TcpTimedWaitDelay的值表示系统释放已关闭的TCP连接并复用其资源之前,必须等待的时间) 的值默认是240秒, 想单机测试高吞吐,这个值要调低,调到5秒10秒试试
好吧,那我也不知道啥硬件才算好了
端口可以这么解释,我换jmeter集群试试,但是连接超时,我始终感觉是 服务端处理跟不上导致超时的。
瓶颈应该在发送端,创建一个TCP连接会占用一个端口,一个IP的端口是有限的,就小于65535个,所以并发瓶颈应该是来自于你的发送机器端口数量吧,而不是服务器。我是见有一些并发发送要么用集群,比如多台docker里面执行,或者分配多个IP网卡等等突破端口瓶颈。
并发请求应该是起来了,但是并发的处理感觉没跟上,因为Jmeter报告里显示 失败的原因就2个,一个是端口耗尽,一个是连接超时,给我感觉就是服务器的多核在围观没跑起来。
回复
为啥你要jmeter和应用在一台服务器,这样消耗的端口时双倍的
回复
@IdleMan : 怀疑是网络有问题,我就放一台服务器试试,结果也压不上去。2种方式都试过了,96压101,101 压101
我猜测是并发没上去,理由如下:
网络带宽没起来;
笔记本的单核处理能力高于服务器的单核处理能力,所以笔记本的表现好于服务器。
网络我用iperf测试了看起来挺稳定的。而且我不从96去压101,直接在101上压101 也这样。
应该是你客户端和服务器的网络问题,你试试拿个1000M的交换机,把他们直连,再测试下
我也不知道,不过可能是截图瞬间的原因吧,最高的时候我看接收12MB,发送700KB
为什么网络利用率这么低?
内网,给不了。
给你机器我用用,去研究研究呢?
网络测试
磁盘IO测试