移动性能测试 jenkins 集成 jmeter 跑性能测试也不错

Believe · 2015年12月21日 · 最后由 董文科 回复于 2016年08月09日 · 3441 次阅读

最近几周都在用 jmeter 做性能测试 ,移动 APP 的很多功能点都要做压测,后来自己写了个简单的 shell 脚本,把它 “搬到” jenkins 上来跑了:

  • 一个 job 对应一个功能点的压测
  • 再利用 jenkins 的 build flow plugin 把这些 jobs 串起来、统一参数管理。
功能点 job

build flow job

查看结果

目前主要得到 tps 指标,其它详情指标还是用结果文件导入到 jmeter 里查看。期待以后可以将其它指标集成到 jenkins 中,而且服务器相关的指标也包含。

共收到 13 条回复 时间 点赞

全屏马赛克,你这是在展示 jmter 的界面吗。。。脱敏也不需要这么暴力吧

太简洁了。。。虽然大致知道你的意思,但是没看出它的具体做法和优势。而且如东哥所说,脱敏脱得太厉害了。。。要不你弄个 demo 来截图也好啊。。。

这也太简单了。。= =

好水啊

不好意思,各位,因为这个是用在公司目前项目中的,所以有敏感数据我都模糊化了。有个大体方向就够了吧

能详解吗

论坛不是用了糖果的那个分享?可以参考下

至于测试结果分析生成,你可能需要 JMeterPluginsCMD Command Line Tool

例如生成图片:

java -jar CMDRunner.jar --tool Reporter --generate-png test.png --input-jtl results.jtl \
  --plugin-type ResponseTimesOverTime --width 800 --height 600

生成 CSV 统计:

java -jar CMDRunner.jar --tool Reporter --generate-csv test.csv \
  --input-jtl results.jtl --plugin-type ResponseTimesOverTime

#8 楼 @mrqyoung 我这边用 jmeter 生成的结果文件是 csv 的,不可能是 jtl 类型。(毕竟做压测总请求量太大,一般都是百万级别的请求量,如果是 xml 格式的 jtl 文件,那一个 jtl 文件可能会上 G 级别 size。我这边生成的 csv 结果文件都是百 M 级别 size.

@jxxgxldl *.jtl 是默认的结果格式,默认也是 CSV 不是 XML,当然这个输出格式还是可以配置成 XML 的,在 nogui 下得到的结果是 jtl,当然你可以自己定义文件的扩展名为 CSV,实质是一样的,然后命令行分析。我在 linux 下测试出来都是几个 G 的 jtl,内容是 CSV 格式,然后命令行直接在服务器上面得到结果再拿到本机整理报告的。

nogui 启动:($jmeter_jar 就是路径到 ApacheJMeter.jar,$jmx 就是测试脚本,$out_log 就是输出的 jtl 文件,$run_log 就是运行过程中的输出每 30 秒 Summary 的,2 个 IP 地址是远程 runner)

java -jar $jmeter_jar -n -t $jmx -l $out_log -R 8.8.8.8,8.8.4.4 > $run_log &

jtl 内容(也是可以配置的):

......
1451271754342,1659,HTTP-Resuest,200,OK,Threads 1-65,text,true,272,200,200,1659
1451271754331,1670,HTTP-Resuest,200,OK,Threads 1-43,text,true,272,200,200,1670
1451271754331,1675,HTTP-Resuest,200,OK,Threads 1-57,text,true,272,200,200,1675
1451271754331,1676,HTTP-Resuest,200,OK,Threads 1-22,text,true,272,200,200,1676
1451271754385,1624,HTTP-Resuest,200,OK,Threads 1-71,text,true,272,200,200,1624
......

#10 楼 @mrqyoung 谢谢,你说的对。我是之前用 jmeter 做接口测试时把默认的 csv 改成 xml 了,所以生成对应的 jtl 是 xml 格式。到了性能测试,又改成 csv 了。跑性能测试是用 nongui 方式的,
jmeter -n -t $jmeter_workspace/jmx/$test_name.jmx -l $jmeter_workspace/result/csv/$test_name/${test_name}.csv

@jxxgxldl 是的,我们的做法基本是一样的。

你这看了跟没看一样

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册