首页 > 其他分享 >性能测试(二)

性能测试(二)

时间:2022-08-22 18:22:27浏览次数:40  
标签:请求 性能 locust 响应 内存 测试

1、分配启动程序的内存,分配一个不足以支撑程序启动的内存或者不足以支撑程序完成请求的内存,那么就会出现内存泄漏或者请求时程序假死(模拟内存泄漏)

①、分配不足以支撑程序运行的内存

java -jar -XmsnM -XmxnM -XX:MaxMetaspaceSize=nm xxx.jar(n代表内存数),展示出OutOfMemoryError(OOM内存泄漏)

 

②、分配足以支撑程序运行但不支撑程序内部发送高并发请求的内存,那么这时候启动程序内部高并发请求,就会出现程序假死

 

2、远程监控JVM资源信息

①、命令        Java  -Djava.rmi.server.hostname=101.43.158.84 -Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=1099-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false -jar -Xms8m -Xmx512m -XX:PermSize=512M -XX:MaxPermSize=1G DBPlus-0.0.1-SNAPSHOT.jar

 

②、重新打开一个控制台输入jvisualvm后进入监控界面,点击远程,输入主机名称(主机IP地址)

 

③、右键IP地址,选择添加JMX连接,连接后跟上1099(上述命令中的端口号)

 

一、基于python的性能测试。

1、locust概述

(1)、locust:

是基于Python语言的性能测试工具,它是基于协程的思想来进行设计的。Python语言是没有办法利用多核的优势,所以了Python为了解决这个问题,设计了协程,作为协程的任务,遇到IO堵塞就立刻切换。 什么是协程,协程可以简单的来说就是微线程。

(2)、locust主要做负载测试和稳定性测试,也可以做压力测试

(3)、安装locust:pip3 install locust

2、WEB模式

(1)、启动WEB模式进行性能测试。

①、输入指令:locust -f locustfile.py(.py文件自己编写,后面学到python语言的时候会讲到,根据文件中的脚本格式判断做压力测试还是负载测试或者稳定性测试)

、启动后在报文中找到启动占用的端口号,在网页中打开(http://localhost:8089),就会得到下图所示

 

③、界面信息简述:

Number of total users to simulate:设置模拟的⽤户总数

Spawn rate (users spawned/second):每秒启动的⽤户虚拟数  

Host (e.g. http://www.example.com):被测的⽬标服务器的地址信息

④、设置好数据后开始性能测试

 

 

 

Type:请求类型(也就是请求具体是那个=⽅法)

Name:请求的路径地址信息

Requests:当前已完成的请求数量

Fails:当前失败的数量

Mediam(ms): 响应时间的中位数

90%ile (ms):90%的请求响应时间

Average (ms):平均响应时间

Min (ms):最⼩响应时间

Max (ms):最⼤响应时间

Average size (bytes):平均请求的数据量

Current RPS:每秒中处理请求的数量,也就是RPS

⑤、菜单栏简述:

New test:点击该按钮可对模拟的总虚拟⽤户数和每秒启动的虚拟⽤户数进⾏编辑; Statistics:聚合报告 Charts:测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟⽤户数;

Failures:失败请求的展示界⾯;

Exceptions:异常请求的展示界⾯;

Download Data:测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics、responsetime、 exceptions

九、性能测试计划

1、计划部分内容解析

背景:描述具体是干什么,干这件事的前因后果

前置工作:干这件事需要有哪些准备工作

技术选型(工具): 测试范围:就是具体的工作内容

2、性能测试过程

测试前期准备(前置⼯作)

 

测试⼯具引⼊

基于梳理的业务场景,和服务底层稳定性体系的保障,性能测试⼯具的选择具体如下:

 

3、测试计划

背景

公司之前的测试团队做API的⾃动化测试都是使⽤JMeter等⼯具来进⾏,这样的话测试效率⽽⾔不是那么很⾼,⽽且在扩展性⽅⾯不是很有竞争⼒的。所以开发了新的测试平台,但是考虑到公司的测试⼈员有1000⼈,那么就需要 验证1000⼈同时使⽤测试平台,是否会出现平台⽆响应以及崩溃(雪崩)的情况。

前置⼯作

⼈员配备

 

技术(⼯具)选择

 

测试范围

 

测试⻛险

⽬前⽆⻛险(对存在的风险点进行描述协商解决)

4、测试设计与开发

JMeter⼯具

测试并发登录

 

 

 

产品列表加载

测试最简单的⽅式:

同时⽀持执⾏API测试⽤例

上传⽂件最⼤⽀持2G

测试⽅式是:关注点:上传时间、CPU占用、同时上传会不会出现内存泄漏(两个人同时上传1G的文件或者9个人同时上传小于1G的文件)

locust开发

⽀持持续的发送API请求

 

5、测试执⾏与管理

(1)、性能测试关注的指标

①、响应时间

②、CPU与内存的变化趋势

(2)、指标:

①、系统资源:CPU与内存

②、响应时间:最小,最大,平均,中位数,90%,95%,99%

③、吞吐量

④、IOPS,连接数

⑤、JVM的资源变化趋势关注

6、性能测试报告

(1)、参与人员

 

(2)、报告汇总

 

不同场景名称(100万用户、500万用户等)

过程数据: 系统资源 响应时间 吞吐量 IOPS

测试结论

(3)、测试风险

 

(4)、测试结论

 

 

标签:请求,性能,locust,响应,内存,测试
From: https://www.cnblogs.com/L2119/p/16613814.html

相关文章

  • 测试右移-后台服务监控告警实践
    前言前段时间,公司上线了“大屏”项目,用于对接展示一些业务平台的数据。但是在上线后使用过程中,产品或业务经常反馈前台页面没有数据。出现这种情况后,开发人员会去排查问......
  • 性能测试Ⅵ
    locust:是基于Python语言的性能测试工具,它是基于协程的思想来进行设计的。Python语言是没有办法利用多核的优势,所以了Python为了解决这个问题,设计了协程,作为协程的任务,遇到I......
  • 经纬恒润全链路测试平台,助力智能驾驶技术落地应用
    汽车智能化浪潮汹涌而来,但智能驾驶汽车在真正商业化应用前,需要经历大量的道路测试才能达到商用要求。作为新兴事物,智能驾驶汽车仍面临着大量问题需要克服,如道路测试的时间......
  • 性能测试通过标准
    阿里:https://help.aliyun.com/document_detail/29338.html一.通用互联网服务端性能TPS大于期望值错误概率小于0.5%响应时间小于期望值CPU利用率小于75%JVM内存使用率小于......
  • 测试
    学习Java2022年5月5日Java是一个面向对象的高级编程语言Java可以在任何平台上运行,可移植性强Java主要应用与服务器以及大数据(或者一些桌面应用和手机应用)Java具有高......
  • 2022-8-21 第一组 (≥▽≤) 周测试
    目录第一题第二题第一步第二步第三步工具类配置文件导入jar包第一题SELECTstu.`姓名`,stu.`学号`FROMstudentstuLEFTJOINSCscONsc.`学号`=stu.`学号`LEFT......
  • 为什么需要去做“性能测试”
    一、为什么要做性能测试?系统用户量快速增长;同时业务和系统架构更加复杂,要处理的数据大大增加。此时不仅仅要满足于功能的实现,在很多场景下更要关注系统性能。二、什么是......
  • 性能测试指标
    记录下性能测试常用的几个指标。1、TPSTPS的全称是TransactionPerSecond,即每秒处理的事务数,那什么是事务呢?衡量一个系统性能的好坏,主要看的是单位时间内,系统可以处理......
  • 漫谈测试成长之探索——缺陷分析
    ​回顾校园生活中,我们参加每一场考试后都会对错题进行分析总结并补缺补漏,以便能更好地去应对更重要的考试。回到软件系统开发中,我们记录和跟踪缺陷的目的是什么,仅仅是为了......
  • 技术分享 | 接口测试中,请求超时该怎么办?
    原文链接A发送请求,然后等待B的响应,同时开始超时计时,如果在超时时间内成功接收到响应,则结束等待和计时。如果到了超时时间还没有接收到响应,则结束等待同时此次通讯失败,......