目录结构

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

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,上传至服务器

下载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监控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"(永远) 即可,如下:

jmeter mysql 执行计划_[PT_06] 性能测试-场景设计与实现(登录随机购买业务)相关推荐

  1. java获取mysql执行计划_好程序员Java学习路线之MySQL的执行计划

    好程序员 Java 学习路线之 MySQL 的执行计划.什么是执行计划? 执行计划通常是开发者优化 SQL 语句的第一步. MySQL 在解析 SQL 语句时,会生成多套执行方案,然后内部会进行一个成 ...

  2. 删除mysql 执行计划_如何清除某条SQL的执行计划

    如果遇到绑定窥探导致执行计划慢的情况,想要清除某条SQL的执行计划,让它硬解析,找了很久都没有找到直接操作share pool的方法(除非alter system flush shared_pool) ...

  3. mysql 执行计划 什么用_简述MySQL的执行计划的作用及使用方法

    作为程序员,难免要和数据库打交道,一般情况下,我们不是DBA ,但是又要写很多SQL,因此SQL效率就成了很大的问题.关于SQL效率优化,除了要掌握一定优化技巧外, 还得有很多经验的积累,但是这里我们 ...

  4. mysql执行计划缓存在哪_怎么去看懂mysql的执行计划

    mysql的查看执行计划的语句很简单,explain+你要执行的sql语句就OK了. 举一个例子 EXPLAIN SELECT * from employees where employees.gen ...

  5. mysql 执行计划 改变_数据量增加导致mysql执行计划改变解决_MySQL

    bitsCN.com 数据量增加导致mysql执行计划改变解决 收到运维同学电话,mysql服务器连接数满了,登录服务器查看,确实满了,好吧,首先增加连接数到2500,暂时提供对外服务.连接继续升高, ...

  6. mysql执行计划命令_【MySQL】EXPLAIN命令详解--解释执行计划

    具体参考: 原文如下: 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索 ...

  7. 入门mysql执行计划

    执行计划是什么? 执行计划,简单的来说,是SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景.在MySQL使用 explain 关键字来查看SQL的执行计划.如下所示: //1. 查 ...

  8. mysql 执行计划extra_MySQL执行计划extra中的using index 和 using where using index 的区别...

    www.linuxidc.com/Linux/2017-- mysql执行计划中的extra列中表明了执行计划的每一步中的实现细节,其中包含了与索引相关的一些细节信息 其中跟索引有关的using in ...

  9. MySQL执行计划extra中的using index 和 using where using index 的区别

    本文出处:http://www.cnblogs.com/wy123/p/7366486.html  (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些 ...

  10. 【数据库】mysql执行计划

    目录 执行计划参数与解释 1.id        表示SQL执行顺序 2.select_type        表示查询中每个select子句的类型 1.SIMPLE 2.PRIMARY 3.SUBQ ...

最新文章

  1. nginx 404 403等错误信息页面重定向到网站首页或其它事先指定的页面
  2. 为什么有这个提示“Escape character is '^]'.”?(转载)
  3. es6 数组找最大值_JavaScript 查找数组中最大值与最小值
  4. 用 openssl 生成 SSL 使用的私钥和证书,并自己做 CA 签名
  5. JAVA——基于HttpClient的全国大学英语四、六级考试(CET4CET6)[2019年下半年]查询DEMO
  6. Spring Annotation(@Autowire、@Qualifier)
  7. oracletns中不存在名称为_关于数据库:向SQL Developer添加新连接时未显示Oracle TNS名称...
  8. 或许是因为本科不是学cs的HTML5原因
  9. 矩阵快速幂的学习(系统的学习)
  10. 四面八方的意思是什么,怎么用四面八方造句?
  11. 恭喜您被选为CSDN插件内测用户:点此领取福利
  12. linux中搭建java开发环境
  13. ubuntu14.04 安装tensorflow始末
  14. oracle里round函数补0,Oracle的Round函数
  15. 模拟微博登陆,获取微博cookie
  16. visio 去除“讨厌”的自动捕捉
  17. 【phaser】快速实现HTML5 2D小游戏
  18. http响应头和请求头配置对照表
  19. NVR是什么设备?(Network Video Recorder,网络视频监控系统的存储转发部分)硬盘录像机DVR、视频编码器DVS、网络摄像机IPC
  20. 多线程并发下集合不安全类-ArrayList

热门文章

  1. MSSQL 事务,视图,索引,存储过程,触发器
  2. 二叉树遍历算法之三:后序遍历
  3. 网规:第2章 计算机网络规划与设计-2.8网络故障分析与处理
  4. 基于C++的模板引擎
  5. darknet 的python接口使用
  6. redis数据类型语法及与java连接
  7. 【HDU 3038】How Many Answers Are Wrong(带权并查集,区间型)
  8. 文件读写和字符串、列表的排序
  9. HTML元素分类【三种类型】
  10. ubuntu 运行级别initlevel