项目如何进行压力测试?
前言:这里对压测进行一些简介,本篇介绍三个压测场景,项目压测、mysql数据库压测、缓存redis压测,项目和mysql都使用jmeter进行压测,redis使用redis官方自带的工具进行压测。压测相关的一些指标:QPS(Queries Per Second):每秒能够响应的查询次数,也即是最大吞吐能力(吞吐量)。TPS(Transactions Per Second):每秒处理的事务数...
·
前言:这里对压测进行一些简介,本篇介绍项目压测场景,使用jmeter进行压测。
压测相关的一些指标:
- QPS(Queries Per Second):每秒能够响应的查询次数,也即是最大吞吐能力(吞吐量)。
- TPS(Transactions Per Second):每秒处理的事务数目。一个事务是指一个客户端向服务器发送请求然后服务器做出反应的过程。TPS 的过程包括:客户端请求服务端、服务端内部处理、服务端返回客户端。
例如,访问一个页面会请求服务器 3 次,那么访问这一个页面就会产生一个TPS,三个QPS。
安装Jmeter
- jmeter官网:https://jmeter.apache.org
- 解压后,进入bin目录,使用jmeter.bat启动程序。
- 注意:因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境,这个自行搜索安装。.
- 改为中文显示:Options -> Choose Language 改为简体中文
项目压测
项目压测包含了web程序 + 数据库 + 缓存 +其他等指标,体现出了项目整体的性能,比较有参考意义,如果程序性能比较低,可对其他指标进行压测来查找原因(性能瓶颈一般出现在数据库)。
- 创建线程组
在“测试计划”上右键 【添加】->【线程(用户)】->【线程组】
设置线程数和循环次数,我这里设置线程数为1000,循环10次
- 配置元件
在线程组上右键【添加】->【配置元件】->【HTTP请求默认值】
配置 HTTP请求默认值:协议、服务IP、端口
- 添加 Http请求
在“线程组”右键 【添加-】->【取样器】->【HTTP 请求】
设置路径和数据(参数可录入简单类型,消息体数据可录入json)
如果是json数据,需要添加HTTP信息头管理器
在线程组上右键 【添加】->【配置元件】->【HTTP信息头管理器】,添加 Content-Type:application/json
- 添加监听器(这里截图是测试后的)
线程组上右键【添加】->【监听器】->【聚合报告】
线程组上右键 【添加】->【监听器】->【察看结果树】
- 执行测试
下图的绿色按钮为开始执行,如果要重新执行需清除上一次结果。
更多推荐
已为社区贡献1条内容
所有评论(0)