有关性能测试这块,涉及传参的接口,推荐用jmeter调用多台子设备进行测试

由于jmeter对电脑本身的要求很高,很容易在执行时本机卡死影响最终的结果

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

故在不涉及传参时,单接口的压力测试 推荐使用wrk

wrk是一款基于linux下的单命令执行的测试工具

安装wrk:

先安装git

cd /usr/local/src

sudo yum install git -y

下载wrk:

git clone https://github.com/wg/wrk.git

cd wrk

make

性能测试wrk 随笔 第1张

1. 安装后,ll查看wrk目录,cd wrk, 进入目录

2.输入执行语句: ./wrk –t10 –c100 –d10s http://www.baidu.com

性能测试wrk 随笔 第2张

说明:T线程数,c连接数,d 执行时间,线程数就是多少个人,连接数就是多少个石头

举例:10个人 对着名字叫百度的人 去丢100个石头(这个石头会无限再生),

百度的怒气值上限是100,被丢石头怒气值会上升,看看10秒内一共能丢过去多少块石头,每秒能丢多少块石头,怒气值会达到多少

名词说明:

性能测试wrk 随笔 第3张

一般的,t和c的比例是 1:10(1线程:10连接数,线程≤连接数)

在满足CPU(怒气值),RT,非200,这三个条件的情况,可以得到最终的QPS 或 吞吐量

结果中:

1.红框是 RT:0.031秒(平均响应时间) #一般接口<0.3.s ,页面<3s

2.蓝框是QPS,每秒请求的事物数 

3.绿框是吞吐量,吞吐量是指  每秒处理的事物数

4.Socket error 主要看timeout(超时)这项,若超时很多,则在执行语句中添加:--timeout=15s (超时时间可以自己改)

  语句为: ./wrk –t10 –c100 –d10s –timeout=15s http://www.baidu.com

  若怎么改都超时,则截图给开发和开发沟通

5.非200 ,指的是非200,300的链接,先看一张图:

性能测试wrk 随笔 第4张

该图仅供参考,一般报错不会那么多,如果报错,则降低线程数,连接数同时等比降低,若怎么调都还是报错,

将错误结果反馈给开发,若开发可以接受,则认为满足非200条件  

6.服务器CPU(怒气值)

性能测试wrk 随笔 第5张

一般的,默认服务器的CPU值达80%,即算瓶颈期,随着你持续的请求,服务器的CPU会实时变化,只要趋近于在75~90 %之间,

即算满足压力需求(具体压力值已测试需求为主)

7.命令总结:一般的为了防止超时,以及可以更明显的观察CPU的走势,一般的我们都添加 –timeout=15s ,以及将时间调整至30s或60s

例如:./wrk –t200 –c2000 –d60s –timeout=15s http://www.baidu.com

一般的起始线程数控制在200~500,CPU不够,则增加线程数,若报错查看说明5

单台多台堡垒机

 之前描述的全是单台堡垒机的情况,当你出现非200时,降低线程数后,消除非200,但不能满足CPU的条件时,

我们就需要增加多台堡垒机(多台的意义就是保持低报错下,增加CPU,可以通过命令行调用或直接同时回车执行),

怎么看多台堡垒机的指标?看下图:

堡垒机1:

性能测试wrk 随笔 第6张

堡垒机2:

性能测试wrk 随笔 第7张

CPU:满足条件不变,看后台纵轴

非200:错误数相加

RT:算平均值 ,例如:(14+13)/2 =13.5ms=0.013s

吞吐量:累加

QPS:累加,如上图 图1是7171 ,图2是7721,则QPS =图1+图2 =14892

测试流程:

首先问清楚,你要测什么,框架是什么,需要传参数吗?(传参用Jmeter方便)

测试需求是什么

1.先确认给的地址是否能通

方法1:地址可以打开,把地址复制,在windows的堡垒机中直接IE查看

方法2:在wrk直接 –t1,-c1 -1ds 执行一下,看看是否能执行,是否非200

2.开搞,将CPU压满(增加线程数,或增加堡垒机个数),满足所有参数条件下,给出QPS结果

3.反复执行,得到最完美的 t,c比例,对比执行结果

4.根据结果分析服务器的瓶颈值

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄