JMeter性能测试环境准备(研发角度)

恩施知识网 情感人生 2023-05-08 169 0
一、测试准备确定好Client 视角与 Server 视角如果要压测 Server,应该给 Client 尽可能多的资源,把 Server 压到极限,反之亦然。如果 Client 和 Server 都只给了 4 核 CPU 进行压测,会导致开发者无法判断最终得出来的性能数据是哪个视角下的,更无法给线上服务做实际的参考。1. JMeter 准备

https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html

1.1 防火墙关闭或者端口打开1.2 确保在同一个子网内1.3 确保测试机java和jmeter版本相同1.4 将ssl禁用2. 使用千兆/万兆宽带口

降低/减少网络造成的影响

ethtool em1

JMeter性能测试环境准备(研发角度)3. 搭建jmeter集群

可以使用windows电脑做主机,linux系统作为从机执行测试任务。方便windows图形化界面操作查看

JMeter性能测试环境准备(研发角度)4. 验证JMeter环境单测ping接口

一台测试机单ping应不低于10万tps

JMeter性能测试环境准备(研发角度)

两台测试机,一起压测ping接口,每台机器也应不低于10万tps

JMeter性能测试环境准备(研发角度)

与百兆网对比

JMeter性能测试环境准备(研发角度)

4台千兆测试机

JMeter性能测试环境准备(研发角度)

性能机(测试目标服务器)

JMeter性能测试环境准备(研发角度)

5. 小结:

如果Server比较依赖CPU运算,理论上服务端4核CPU,那么测试客户端需要4*4核CPU

二、K8S中多副本测试

增加多副本时,尽可能将副本部署到不同集群节点。优先测试,两个副本位于两个节点的性能。再测试同一节点部署两个副本的性能。最后可再增加副本,增加节点。

例:master 16核 node 40核 使用两台测试机测试单副本master时:

JMeter性能测试环境准备(研发角度)

测试机:

JMeter性能测试环境准备(研发角度)

被测试服务器:

JMeter性能测试环境准备(研发角度)

可以看到服务器性能已达极限,此时需要增加副本,提供更高的性能。

多副本时:两个副本

测试机:

JMeter性能测试环境准备(研发角度)

可以看到由于增加的副本位于40核节点,性能提升巨大

JMeter性能测试环境准备(研发角度)

JMeter性能测试环境准备(研发角度)多个副本

测试机

JMeter性能测试环境准备(研发角度)

此时性能略有提升,效果不明显。

JMeter性能测试环境准备(研发角度)

JMeter性能测试环境准备(研发角度)

通过查看服务器资源使用情况,增加了多个副本后,CPU使用率提高并不明显,导致性能并未发生明显提升。

查找原因/验证:

node单副本:

JMeter性能测试环境准备(研发角度)

JMeter性能测试环境准备(研发角度)

node多副本,压榨node CPU

JMeter性能测试环境准备(研发角度)

测试机:

JMeter性能测试环境准备(研发角度)

JMeter性能测试环境准备(研发角度)

猜想: 是否两台测试机性能已达极限,可通过增加测试机继续测试性能

JMeter性能测试环境准备(研发角度)