jmeter mysql 执行计划_[PT_06] 性能测试-场景设计与实现(登录随机购买业务)
目录结构
一、用户登录并发基准场景设置
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] 性能测试-场景设计与实现(登录随机购买业务)相关推荐
- java获取mysql执行计划_好程序员Java学习路线之MySQL的执行计划
好程序员 Java 学习路线之 MySQL 的执行计划.什么是执行计划? 执行计划通常是开发者优化 SQL 语句的第一步. MySQL 在解析 SQL 语句时,会生成多套执行方案,然后内部会进行一个成 ...
- 删除mysql 执行计划_如何清除某条SQL的执行计划
如果遇到绑定窥探导致执行计划慢的情况,想要清除某条SQL的执行计划,让它硬解析,找了很久都没有找到直接操作share pool的方法(除非alter system flush shared_pool) ...
- mysql 执行计划 什么用_简述MySQL的执行计划的作用及使用方法
作为程序员,难免要和数据库打交道,一般情况下,我们不是DBA ,但是又要写很多SQL,因此SQL效率就成了很大的问题.关于SQL效率优化,除了要掌握一定优化技巧外, 还得有很多经验的积累,但是这里我们 ...
- mysql执行计划缓存在哪_怎么去看懂mysql的执行计划
mysql的查看执行计划的语句很简单,explain+你要执行的sql语句就OK了. 举一个例子 EXPLAIN SELECT * from employees where employees.gen ...
- mysql 执行计划 改变_数据量增加导致mysql执行计划改变解决_MySQL
bitsCN.com 数据量增加导致mysql执行计划改变解决 收到运维同学电话,mysql服务器连接数满了,登录服务器查看,确实满了,好吧,首先增加连接数到2500,暂时提供对外服务.连接继续升高, ...
- mysql执行计划命令_【MySQL】EXPLAIN命令详解--解释执行计划
具体参考: 原文如下: 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索 ...
- 入门mysql执行计划
执行计划是什么? 执行计划,简单的来说,是SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景.在MySQL使用 explain 关键字来查看SQL的执行计划.如下所示: //1. 查 ...
- mysql 执行计划extra_MySQL执行计划extra中的using index 和 using where using index 的区别...
www.linuxidc.com/Linux/2017-- mysql执行计划中的extra列中表明了执行计划的每一步中的实现细节,其中包含了与索引相关的一些细节信息 其中跟索引有关的using in ...
- MySQL执行计划extra中的using index 和 using where using index 的区别
本文出处:http://www.cnblogs.com/wy123/p/7366486.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些 ...
- 【数据库】mysql执行计划
目录 执行计划参数与解释 1.id 表示SQL执行顺序 2.select_type 表示查询中每个select子句的类型 1.SIMPLE 2.PRIMARY 3.SUBQ ...
最新文章
- nginx 404 403等错误信息页面重定向到网站首页或其它事先指定的页面
- 为什么有这个提示“Escape character is '^]'.”?(转载)
- es6 数组找最大值_JavaScript 查找数组中最大值与最小值
- 用 openssl 生成 SSL 使用的私钥和证书,并自己做 CA 签名
- JAVA——基于HttpClient的全国大学英语四、六级考试(CET4CET6)[2019年下半年]查询DEMO
- Spring Annotation(@Autowire、@Qualifier)
- oracletns中不存在名称为_关于数据库:向SQL Developer添加新连接时未显示Oracle TNS名称...
- 或许是因为本科不是学cs的HTML5原因
- 矩阵快速幂的学习(系统的学习)
- 四面八方的意思是什么,怎么用四面八方造句?
- 恭喜您被选为CSDN插件内测用户:点此领取福利
- linux中搭建java开发环境
- ubuntu14.04 安装tensorflow始末
- oracle里round函数补0,Oracle的Round函数
- 模拟微博登陆,获取微博cookie
- visio 去除“讨厌”的自动捕捉
- 【phaser】快速实现HTML5 2D小游戏
- http响应头和请求头配置对照表
- NVR是什么设备?(Network Video Recorder,网络视频监控系统的存储转发部分)硬盘录像机DVR、视频编码器DVS、网络摄像机IPC
- 多线程并发下集合不安全类-ArrayList