美文网首页Jmeter性能测试
[JPT_06]性能测试-场景设计与实现(登录&随机购买

[JPT_06]性能测试-场景设计与实现(登录&随机购买

作者: Fighting_001 | 来源:发表于2018-09-23 15:51 被阅读222次

目录结构

一、用户登录并发基准场景设置
    1.JMeter安装性能监控所需的插件
    2.下载ServerAgent,上传至服务器
    3.设置场景执行计划, 添加性能监听器
        1)Perfmon(Servers Performance Monitoring)
        2)Hits per Second
        3)Transactions per Second
    4.下载并安装Spotlight,监控Mysql数据库服务器的性能
二、用户登录业务量基准场景设置
    1.配置Thread Group中的线程数 & 调度器
    2.配置Step 1中Loop Controller的Loop Count

一、用户登录并发基准场景设置

对于并发场景,本次测试目的在于验证ECShop平台能否支持100个用户并发同时登录系统,无须考虑持续时间。
登录并发场景的脚本,命名为:ecs_Login_Concurrency.jmx

1.JMeter安装性能监控所需的插件

利用JMeter Plugins Manager管理JMeter中所需各种插件,比如:服务器性能监控插件,PerfMon(Servers Performance Monitoring),可在JMeter中监控远程服务器的系统资源变化情况。

操作路径:Options-->Plugins Manager-->Available Plugins
勾选所需的插件,点击"Apply Changes and Restart JMeter",正式开始安装勾选的插件,安装完成后会自动重启JMeter

本次利用JMeter Plugins Manager安装如下3个插件:

  • 3 Basic Graphs
  • 5 Additional Graphs
  • Perfmon(Servers Performance Monitoring)

以上安装完成后重启JMeter,即可在Listener中查看到具体的应用插件,如下:

PS:插件安装的路径为...\apache-jmeter-4.0\lib\ext

2.下载ServerAgent,上传至服务器

传送门:https://github.com/undera/perfmon-agent/releases/
直接下载 ServerAgent-2.2.3

下载ServerAgent,上传至服务器(Linux/Windows),Linux服务器启动startAgent.sh,Windows服务器启动startAgent.bat

ServerAgent默认开启4444代理端口,Windows中双击startAgent.bat启动ServerAgent,如下:

3.设置场景执行计划, 添加性能监听器

并发测试中每个线程只需执行1次,只需将Thread Group中设置"Number of Threads"为100,其他为默认即可

线程组设置完成后,需要对服务器资源监控的信息进行配置

1)Perfmon(Servers Performance Monitoring)

Step1-->Add-->Listener-->jp@gc - Perfmon(Servers Performance Monitoring)
通过Add Row新增4项监控:CPU、Memory、Disks I/O、Network I/O

2)Hits per Second

Step1-->Add-->Listener-->jp@gc - Hits per Second
对于Hits per Second,可根据实际需要来调整对应响应数据获取的频率,在Settings中设置Group timeline values for "x" ms
(若测试持续时间较长,则可适当延长x的数值,但不绝对)

3)Transactions per Second

Step1-->Add-->Listener-->jp@gc - Transactions per Second

4.下载并安装Spotlight,监控Mysql数据库服务器的性能

因JMeter默认并没有提供Mysql数据的监控,因此,本次性能测试需采用其他性能监控工具监控Mysql数据,便于获取整个场景执行过程中服务器Mysql的性能表现。

具体下载和安装过程,可参看==> 数据库性能监控工具Spotlight on MySQL的安装

本次测试采用Spotlight监控Mysql的性能表现,安装Spotlight完成后,新建数据库连接即可。

因JMeter已经对OS的服务器进行了监控,Spotlight则不需要设置对OS的监控。确保设置信息无误,然后点击"Connect"按钮,即可完成Spotlight对Mysql数据库服务器的连接和监控设置。设置完成后监控图,如下:

二、用户登录业务量基准场景设置

登录业务量场景的脚本,命名为:ecs_Login_Business.jmx

1.配置Thread Group中的线程数 & 调度器

根据前文 [JPT_03]性能测试-测试模型构建 & 用例设计 对测试场景分析
,业务量测试需设置97个线程数,同时需设置测试执行的时间段

对于JMeter 4.x版本,Thread Group配置界面勾选Scheduler(调度器)后,已经不会出现单独的Start Time、End Time配置项,只有以下2项:

配置项 含义
Duration 执行测试所持续的时间, 单位: s
(相当于控制结束时间)
Startup delay 延迟执行启动的时间, 单位: s
(相当于控制开始时间: 手工运行后, 等待所设置的延迟时间后开始执行测试)

本次登录业务量测试,持续时间2h,即7200s

然后还需要设置Loop Count: 勾选"Forever"(永远),使得Scheduler生效, 直到手工停止测试or测试开始后达到所设置的持续时间之后才会结束测试

2.配置Step 1中Loop Controller的Loop Count

因本次测试脚本由BadBoy录制生成,而BadBoy录制的脚本与JMeter录制的脚本在循环设置方面存在差异,因此在完成Thread Group相关设置后,还需要对"Step 1"进行设置
"Step 1"设置, Loop Count: 勾选"Forever"(永远) 即可,如下:

相关文章

网友评论

  • 道听俗说:一脸懵逼的进来。,一脸懵逼的离开。
    Fighting_001:哈哈,谢谢来访,可能写的有点抽象了不太好理解
  • 思思如一:虽然看不懂,但这些肯定实用
    思思如一:@Fighting_001 如果是专业人士,会看的津津有味,你是学计算机或者程序一类的吧
    Fighting_001:谢谢支持哦!比起情感系文章,这类文章就比较单调乏味,没多少人关注,就当做记笔记以后有用到可以快速返回定位查找,哈哈。:smile:

本文标题:[JPT_06]性能测试-场景设计与实现(登录&随机购买

本文链接:https://www.haomeiwen.com/subject/fqcywftx.html