2018-08-30压测

课堂笔记

性能瓶颈
做压测需要准备什么
1.压测脚本
压测思路是什么
由小到大,逐渐添加压力

压测要做什么

jmeter可视化执行
优点:简单,可以看动态过程
缺点:报告需要手工导出
命令行执行
优点:直接生成最终报告
缺点:有命令,复杂

jmeter -n -t d:\softwaredate\jmeterdata\test.jmx -l result.jtl -e -o d:\softwaredate\jmeterdata\report
PS:注意,result.jtl每次要删除,位置在jemter.bat同目录下

image.png
image.png
CVS

课堂总结:

A.压力测试

1.压测的思路:

  • 从小往大压测
  • 每次截图备份结果
  • 最后对比分析
  • 找出压测承受的点


    image.png
性能测试画图.png
  • 性能测试:资源充足,请求越多,吞吐量越大
  • 负载测试:负载达到最佳,请求数增加,响应时间降低,总的量趋稳
  • 压力测试:超出系统负载,开始部分报错,响应时间大幅降低
  • 之后 :系统崩溃,无法处理业务

2.做压测之前的准备__环境准备

  • 测试工程师需要准备压测脚本

  • 找运维看监控数据


    找运维看监控数据
  • 找研发根据压测数据和监控数据分析性能瓶颈

3.设置jmeter的线程组的线程数、循环次数和调度器


设置线程组

4.运行后,查看jp@gc - Hits per Second每秒点击数和jp@gc - Transactions per Second每秒响应的事务数,每次结果需截图


25-10-1.png

25-10-2.png

5.导出压测数据-聚合报告、tps每秒响应数
导出聚合报告

6.根据压测数据和监控数据找研发一起分析性能瓶颈

如何分析当前测试处于哪个阶段?

1.看请求响应时间、最大值、最小值、平均值比较接近,吞吐量TPS未达到最大值,说明处于性能阶段,说明当前线程数可以再添加
2.响应时间、最大值、最小值、平均值波动差距逐渐增大,吞吐量TPS开始稳定,说明已处于负载阶段,说明可以尝试降低线程、请求数
3.响应时间、最大值、最小值、平均值波动差距较大,同时请求结果开始出现失败时,吞吐量TPS下降,说明已经处于压力测试阶段,需要调整线程数和请求数

如何判断当前TPS吞吐量达到最优?

通过线程数加大减小多次对比,增大请求持续时间

B.jmeter--CSV 数据文件设置

1.从CSV用jmeter导入数据到数据库
2.流程:

  • 新建CSV格式的数据表,使用Notepad++
    Alt+鼠标左键是增加一列相同的数据


    使用列模块编辑1

    使用列模块编辑2

    使用列模块编辑3
  • 用,分隔每列数据


    image.png
  • 保存CSV文件到指定位置
  • 用fiddle抓包,添加http请求数据
  • 在jmeter里设置CSV 数据文件设置(注意需禁用用户自定义变量)


    设置CSV 数据文件设置
  • 添加循环控制器,设置添加数据的次数


    循环控制器
  • 添加http请求的body的传参


    传参
  • 运行,察看结果树,察看请求和响应数据


    察看结果树
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容