Jmeter Suite是一套分布式的压测服务,需要有1台或者多台机器组成的K8S集群进行部署。所以在部署压测服务之前,请先自行购买机器。
1、购买机器步骤(以腾讯云为例)
进入腾讯云“容器服务”
进入“容器服务”的概览页面后,点击“立即使用”
切换到“集群”的Tab,点击“新建”,新建集群
根据需要购买集群和配置,详细配置可参照下下一节,其他默认即可
另外需要注意的是,机器的安全组记得要把局域网都放通,以免出现节点之前访问不了的情况
2、机器配置建议
根据Jmeter性能的研究,得出如下的机器配置建议。在上一步购买机器的时候,可以根据你的预期QPS值,购买相应的机器即可。
Server节点 配置建议 | QPS | 节点数 | CPU(核) | 内存(GB) | 网络入带宽(Mbps) | 网络出带宽(Mbps) | IO写(KB/s)Max/min |
---|---|---|---|---|---|---|---|
机器资源 | 1800 | 等于机器数量 | 1 | 每增加一节点增加2GB | 大于25~60,视乎请求体和请求返回体大小决定。应时刻关注带宽是否够用,不够的时候扩容(或者按3Kbps每QPS) | 一般不需要特别配置(CBS默认已有150MB/s的写入速度) |
Master节点 配置建议 | QPS | 节点数 | CPU(核) | 内存(GB) | 网络入带宽(Mbps) | 网络出带宽(Mbps) | IO写(KB/s)Max/min |
---|---|---|---|---|---|---|---|
机器资源 | / | 1 | server总CPU核数的1/3 | 每增加一节点增加1GB | 无要求,设置最低即可 | 一般不需要特别配置(CBS默认已有150MB/s的写入速度) |
比如,如果我们需要压测一个目标QPS为5000的业务,按照上面的推荐配置,我们需要如下配置的机器:
Server节点按照每核能够支撑1800QPS来算,目标5000 QPS,则需要3个核的CPU资源,而因为3核心还是比较少的,所以节点数只需要1。按照节点数为1来算,内存需要2GB。Master按照1核1GB内存算即可。
CPU(核) | 内存(GB) | 网络入带宽(Mbps) | 网络出带宽(Mbps) | IO写(KB/s)Max/min | |||
---|---|---|---|---|---|---|---|
server | 3 | 2 | 15(达到瓶颈后扩容) | 默认 | |||
master | 1 | 1 | 0 | 默认 | |||
总资源要求 | 4 | 3 | 15 | 默认 |
如果觉得上面的推算都太复杂,那么只需要对CPU进行估算即可,即“目标QPS/1800”确定CPU核数,留下50%的冗余,选择相应机型即可。