文章目录
Jmeter压力测试
压力测试考察当前软硬环境下系统所能承受的最大负荷并帮助找到系统瓶颈所在,压测都是为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。
使用压力测试,我们希望找到很多种用其他测试方法更难发现的错误,有两种类型的错误是:内存泄漏,并发与同步
有效的压力测试系统将应用以下这些关键条件:重复,并发,量级,随机变化。
性能指标
- 响应时间:用户从客户端发起一个请求,到客户端接收到从服务器返回的响应结束,整个过程所耗费的时间。
- HPS:每秒点击数,单位是次/秒
- TPS:系统每秒处理交易数,单位是笔/秒
- QPS:系统每秒处理查询数,单位是次/秒
- 一般情况下TPS、QPS、HPS指标衡量标准
- 最大响应时间:指用户发出请求或者指令到系统做出反应的最大时间
- 最少响应时间:指用户发出请求或者指令到系统做出反应的最少时间
- 90%响应时间:是指所有用户的响应时间进行排序,第90%的响应时间
- 从外部看,性能测试主要关注如下三个指标
- 吞吐量:每秒钟系统能够处理的请求数、任务数。
- 响应时间:服务处理一个请求或者一个任务的耗时
- 错误率:一批请求中结果出错的请求所占比例
Jmete下载与安装
Jmete下载
jmeterx下载地址: http://jmeter.apache.org/download_jmeter.cgi
Jmeter安装
解压下载的jmeter安装包,在 /bin 目录下点击 jmeter.bat 打开Jmeter,打开Jmeter之后点击 Options—>Choose Language—>Chinese切换为中文目录。
Jmeter使用
添加线程组
右击Test plan 添加线程组
添加取样器HTTP请求
添加监听器
察看结果树
汇总报告
聚合报告
汇总图
注意事项
每次压测之前需要清理之前压测的结果
使用jvisualvm进行服务性能监控
启动jvisualvm
在CMD控制台输入jvisualvm 启动jvisualvm性能监控
jvisualvm的作用
监控内存泄漏,跟踪垃圾回收,执行时内存、cpu分析,线程分析
- 运行:正在运行的线程
- 休眠:sleep
- 等待:wait
- 驻留:线程池里面的空闲线程
- 监视:阻塞的显示
安装插件查看垃圾回收
-
注意事项:
-
第一种情况:
如果出现如下图所示,是因为https://visualvm.github.io/停止访问,我在写这篇博客之前,就因为https://visualvm.github.io/访问不了,导致搁浅好长时间。这种情况只能等待,或者可以找到自己对应版本的插件进行下载离线安装。
离线安装方法:
在已下载里面选择添加插件,找到自己下载好的插件,进行安装。
-
第二种情况:
如果出现无法连接Java visualVM插件中心,因为https://visualvm.github.io/uc/8u131/updates.xml.gz,这个时候需要去插件里面设置插件地址URL。
-
去插件中心https://visualvm.github.io/pluginscenters.html,找到自己对应自己jdk对应的版本。复制底下的URL。设置即可
-
然后点击可用插件,检查新版本,选择Visual GC 安装即可。
-
选择应用程序,就可以看见Visual GC插件,用来观察GC。
我们可以通过GC来掌握系统性能,充分保证系统稳定性的情况下,合理利用服务器性能和优化代码来提高系统性能。