前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JMeter帮你找到系统瓶颈-升职加薪就在眼前

JMeter帮你找到系统瓶颈-升职加薪就在眼前

作者头像
用户4919348
发布2022-04-13 16:21:17
2940
发布2022-04-13 16:21:17
举报
文章被收录于专栏:波波烤鸭波波烤鸭波波烤鸭

系统性能压力测试

一、压力测试

  压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,以及系统可以承受的压力情况。然后做针对性的测试与分析,找到影响系统性能的瓶颈,评估系统在实际使用环境下的效率情况,评价系统性能以及判断是否需要对应用系统进行优化处理或结构调整。并对系统资源进行优化。

  在压力测试中我们会涉及到相关的一些性能指标:

  1. 响应时间(Response Time:RT):从客服端发送请求开始到获取到服务器的响应结果的总的时间
  2. HPS(Hits Per Second):每秒点击的次数
  3. TPS(Transaction Per Second):系统每秒处理的交易数,也叫会话次数
  4. QPS(Query Per Second):系统每秒处理查询的次数

  在互联网企业中,如果一个业务有且仅有一个请求连接,那么TPS=QPS=HPS的,而在一般情况下用TPS来衡量整个业务流程,用QPS来衡量接口查询的次数,用HPS来衡量服务器单击请求。

  我们在测试的时候就会通过这些指标(HPS,TPS,QPS)的数据来衡量系统的系统,指标越高说明系统性能越好,在一般情况下,各个行业的指标范围有着比较大的差异,下面简单的列举了下,仅供参考

  • 金融行业:1000TPS~50000TPS
  • 保险行业:100TPS~100000TPS
  • 制造业:10TPS~5000TPS
  • 互联网大型网站:10000TPS~1000000TPS
  • 互联网其他:1000TPS~50000TPS

  当然我们还会涉及到一些其他的名词,如下:

名词

说明

最大响应时间

用户发出请求到系统做出响应的最大时间

最少响应时间

用户发出请求到系统做出响应的最少时间

90%响应时间

指所有用户的响应时间进行排序,第90%的响应时间

  当我们从外部来看,性能测试主要要关注这三个性能指标

指标

说明

吞吐量

每秒钟系统能够处理的请求数,任务数

响应时间

服务处理一个请求或一个任务的耗时

错误率

一批请求中结果出错的请求所占的比例

二、JMeter

1.安装JMeter

官网地址:https://jmeter.apache.org/download_jmeter.cgi 下载后解压即可,然后进入到bin目录下双击 JMeter.bat文件即可启动

image.png
image.png

该工具支持中文

image.png
image.png

中文后的页面

image.png
image.png

2.JMeter基本操作

2.1 添加线程组

  线程组的作用就是定义任务的相关属性,比如每秒执行多少线程,重复多少次该操作

image.png
image.png

2.2 取样器

  在定义了线程组后,我们得继续定义每个线程的操作行为,也就是创建对应的取样器,在取样器中我们定义要访问的服务的协议及地址信息。

image.png
image.png

  然后我们需要在取样器中定义服务的信息

image.png
image.png

2.3 监视器

  在取样器中我们定义了要访问的服务信息,然后我们就要考虑请求后我们需要获取任务的相关的指标信息。这时就用到了监视器。

image.png
image.png

对应的结果数据有 查看结果树 汇总报告 聚合报告 ,查看结果对应的图形 汇总图 …

image.png
image.png

2.4 测试百度

  写好了取样器后,启动测试。

image.png
image.png

启动后我们就可以查询测试的结果数据

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

2.5 测试商城首页

image.png
image.png
image.png
image.png

启动后查看对应的结果

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

2.6 JMeter Address 占用的问题

搜索之后发现需要在regedit中添加注册表项MaxUserPort,TcpTimedWaitDelay重启一下就可以解决了。

解决方法:

打开注册表:ctrl+r 输入regedit 进入注册表,路径为:\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 新建DWORD值,(十进制)设置为30秒。名称:TcpTimedWaitDe,值:30 新建DWORD值,(十进制)最大连接数65534。名称:MaxUserPort,值:65534

修改完成后重启生效

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-03-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系统性能压力测试
  • 一、压力测试
  • 二、JMeter
    • 1.安装JMeter
      • 2.JMeter基本操作
        • 2.1 添加线程组
        • 2.2 取样器
        • 2.3 监视器
        • 2.4 测试百度
        • 2.5 测试商城首页
        • 2.6 JMeter Address 占用的问题
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档