在实际工作中,我们知道读写对服务的资源消耗比较大,今天我们专门准备读写服务接口,来进行具体分析一下,读写过程对性能的影响。
首先,接口准备,准备一个读数据的接口,使用python+flask单接口,来进行文件读取,返回数据,进行测试。
该接口示例如下:
第二步:使用jmeter,编写一个脚本,使用线程数100,循环次数200次。
添加断言:
备注:
(1)Additionally assert value
是否额外验证根据JSONPath提取的值。
不勾选,验证JSONPath能否在JSON文档中找到路径;
勾选,验证根据JSONPath提取值是否预期
(2)Match as regular expression
预期值是否可以使用正则表达式
不勾选,预期值不能使用正则表达式使用
勾选,预期值可以使用正则表达式使用
Excepted Value:
预期值
expect null 提取值为null,勾选这个
invert assertion(will fail if above conditions met) 勾选这个,取反值。
第三步: 放到服务器上,首先运行python3 xxxx.py
运行jmeter jmeter -n -t test_read.jmx -l result.jtl
这个是无界面执行:
-n 命令行模式
-t 指定脚本路径
-l 指定文件路径
-j 指定日志路径
-r 设置分布式执行
-R 指定分布式服务器列表
-g 指定测试结果文件路径
-H 代理服务器的ip或者域名
-p 代理服务器的端口
生成一个.jtl的文件,需要把.jtl文件转化为一个报告,命令如下:
jmeter -g result.jtl -o ResultReport
-o 指定测试文件夹,不存在或者文件夹为空
执行结果如下:
打开index.html
通过执行过程,发现90%的读写达到5.49秒,cpu飙升到100%,这个硬件资源下期跟新。