您好,欢迎来到欧洲杯直播-安卓版!

案例展示

欧洲杯使用Jmeter做接口压力测试-实战

发布时间:2021-01-20 19:02

  缘由:前段时间只是看了小强的视频,跟着视频做一些实验,这种学习方式总会给人一种 ‘我学的是假Jmeter’ 的错觉,这周有个项目需要做压力测试,我便做个全程记录,以后自己用到也回来看看,毕竟很长时间不做就忘记了。

  业务场景:可知某系统A目前是2台机器承受10W用户,以后用户会扩展到200W,问:大概需要多少台机器?

  测试思路:在window本机上创建测试计划形成 .jmx。然后拿到linxu系统去跑测试计划进行打压

  1)打开jmeter,创建测试计划(线程组-sampler(HTTP请求-(查看结果树、聚合报告)))

  以上截图中的参数名称是接口文档里面定义的,值是我们设定的。设定参数值的方法很多,第一个方法 是在文件中取值,比如第一个参数 UserID 是在一个文件中去的,如果在文件中取值需要添加 配置元件(CSV Date Set Config)进行参数化,如下图:

  把脚本上传到 linxu环境,可以在脚本里面直接修改参数(并发数、运行时间、参数文件的位置)

  执行命令后还需要观察打压过程是否有报错,监控linux服务器的cpu 、内存、负载等。

  如果脚本过程有报错,还要去监控应用的日志,我在打压的时候应用日志就报了内存泄露;

  dump下来的文件需要用工具分析,具体使用工具 Memory Analyzer,是一个eclipse插件 ,也可以单独使用,安装以及使用方法见 :

  大体意思就是 大部分的内存泄露是因为还可以看具体报告的细节,虽然看不大懂,但是知道肯定是代码引起的。打压过程还有个很奇怪的现象就是打压完成后 内存和cpu好久都下不来,这明显是不正常的。对比图如下:

  后来就把报告发给研发分析,也发给我们经理看了下,最终他们给出的结果是被压的页面没有关闭session,如下修改:

  后来关闭后再打压果然不报错了,老大说这种这种问题很常见,不得不感叹经验很重要呀!

  现在打压出了接口的TPS,但是我还不知道要根据这个TPS怎么判断出使用几台服务器,周一把数据汇报给经理再确定。

  就算用户增加到200W,算出来的 是:600多,但是打压出来的系统能力远不止这些,所以目前2台服务器就可以支撑了。

  一个打压测试做完后不得不承认学到了很多啊,性能测试果然要学习很多知识、使用一些工具去辅助自己寻找问题,得到满意的分析结果。和老大交流会学到很多东西,有些东西是自己根本不知道的,所以跟牛人交流很重要,加油。

手机:400-0544321

邮箱:7793846@qq.com

地址:河南省 汝州市 西村镇永安路280号

产品展示
欧洲杯运城
欧洲杯缺乏
欧洲杯吴忠
海宁“芯智
欧洲杯防水
金洲管道对
案例展示
蚌埠套接式
坚持党建引
欧洲杯图集
二维码
Copyright ©2015-2020 欧洲杯直播-安卓版 版权所有 欧洲杯保留一切权力!