IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 压力测试-谷粒商城 -> 正文阅读

[开发测试]压力测试-谷粒商城

二、压力测试

压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。压测都是为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。
使用压力测试,我们有希望找到很多种用其他测试方法更难发现的错误。有两种错误类型是:内存泄漏,并发与同步。
有效的压力测试系统将应用以下这些关键条件:重复,并发,量级,随机变化。

1. 性能指标

  • 响应时间(Response Time: RT):指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间。

  • HPS (Hits Per Second) :每秒点击次数,单位是次秒。

  • TP (Transaction per Second):系統每秒处理交易(事务)数,单位是笔秒。

  • OPS (Query per Second) :系统每秒处理查询次数,单位是次秒。

      对于互联网业务中,如果某些业务有且仅有一个请求连接,那么TPS-QPS-HPS,一般情况下用TPS来衡量整个业务流程,
      用QPS来衡量接口查询次数,用HPS来表示对服务器单击请求。
    
  • 无论TPS. QPS. HPS,此指标是衡量系统处理能力非常重要的指标,越大越好,根据经验,一般情况下:

      - 金融行业: 1000TPS-50000TPs,不包括互联网化的活动
      - 保险行业: 100TPS-100000Tps. 包括互联网化的活动
      - 制造行业: 10TPS-5000TPS
      - 互联网电子商务: 1000OTPS-1000000TPS
      - 互联网中型网站: 1000TPS-50000TPS
      - 互联网小型网站: 500TPS~1000TPS
    
  • 最大响应时间(Max Resonse Time,指用户发出请求或者指令到系统做出反应(响应)的最大时间。

  • 最少响应时间(Mininum RespanseTime)指用户发出请求或者指令到系统做出反应(响应)的最少时间。

  • 90%响应时间(90% Response Time) 是指所有用户的响应时间进行排序,第90%的响应时间。

  • 从外部看,性能测试主要关注如下三个指标

    1. 吞吐量:每秒钟系统能够处理的请求数、任务数
    		越大越好,吞吐量大了说明大并发
    2. 响应时间: 服务处理一个请求或一个任务的耗时。
    	 	越小越好,响应时间小说明性能好,速度快
    3. 错误率: 一批请求中结果出错的请求所占比例。
    

2. JMeter

JMeter Address Already in use错误解决

详情点击:https://www.bilibili.com/video/BV1np4y1C7Yf?p=143&spm_id_from=pageDriver

windows本身提供的端口访问机制的问题。
Windows提供给TCP/IP错接的端口为1024-5000,并且要四分钟来循环回收他们。就导致我们在短时间内跑大量的请求时将端口占落了。

  1. cmd中,用regedit命令打开注册表

  2. 在 HKEY LOCAL MACHINESYSTEM\CurrentControlSet\Services\Ticpip\lParameters 下,

     1、右击parameters,添加一个新的DWORD.名字为MaxUserPort
     2、然后双击MaxUserPort,输入数值数据为65534,基数选择十进制(如果是分布式运行的话,控制机器和负载机器都需要这样操作哦)
    
  3. 修改配置完毕之后记得重启机器才会生效

1. JMeter安装

安装地址:https://jmeter.apache.org/download_jmeter.cgi
下载对应压缩包,解压运行jmeter.bat即可
选择中文
在这里插入图片描述

1. 线程组

测试都是模拟多个人同时来请求某一个接口,来测试它的性能,所以添加一个线程组
在这里插入图片描述
在这里插入图片描述

2. 添加请求

在这里插入图片描述

3. 查看结果

在这里插入图片描述

4. 汇总报告

在这里插入图片描述

5. 聚合报告

在这里插入图片描述

2. 优化

1. 调大内存 - Xmx

Xmx: java程序最大能使用多少内存大小
设置Xmx,增加吞吐量
在这里插入图片描述
在这里插入图片描述

2. 性能优化

  • 影响性能考虑点包括:

      1. 数据库(数据库快不快,慢不慢,sql语句性能高不高),
      2. 应用程序(编码有没有更优化的写法,编码是否存在问题)、
      3. 中间件(Tomcat、Nginx 比如首页发出请求需要通过Nginx,然后Nginx又将请求转交给微服务集群里面的网关,网关有又转给微服务,微服务里面又是Tomcat,Tomcat又调用程序来处理,这一段逻辑走完过了好多中间件,从Nginx到网关到Tomcat 这些中间件都是影响性能的原因)、
      4. 网络和操作系统等方面(网速慢服务压力大,或者带宽只有1M,1w个并发请求,发送1kb的数据都发了10M的数据,所以带宽拥挤也影响接口吞吐量性能的原因,)
    
  • 首先考虑自己应用属于CPU密集型还是IO密集型

      cpu密集型:大量的运算,比如查到一堆数据需要计算->排序->过滤->整合 等等 或者后台监控看到CPU看到占用率一直是七八十百分之百
      解决就是:多家几个服务器 cpu
      
      IO密集型:包含网络IO传输数据,磁盘读写,数据库读数据 redis缓存中读数据,cpu占用率低,但是内存挤爆,磁盘也疯狂的读写数据包括网络流量非常大每秒要出入很多字节数据
      解决就是:换固态硬盘,加内存条,使用各种缓存技术 提高网卡传输效率
    

3. 性能监控

除了一些报告外,最好开始看些监控指标,比如某个程序运行,看某个接口CPU占用多少,内存占用多少,线程数有多少等等

1、jvm内存模型

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-15 22:56:38  更:2022-03-15 22:57:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:24:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码