首页 > 其他分享 >性能测试指标推算及压测示例

性能测试指标推算及压测示例

时间:2023-01-18 21:33:40浏览次数:43  
标签:事务 示例 压测 推算 必办 监控 截图

性能测试指标推算及压测示例

根据提测范围、业务需求推算性能需求和指标(如事务数、并发数等),然后写脚本时可根据此模拟线程数和约束条件,最后执行压测、监控服务器资源、分析监控数据。

一、提测内容:

示例1:每日必办模块。

二、性能需求:

登录:按照每天3千个活跃用户登录,平均在 9: 00-18: 00 这个时间段;

每日必办:每天3千个活跃用户登录,平均时间在9:00-18:00这个时间段,每次登录系统后,用户平均查看2次每日必办,系统需在4秒钟内响应。

三、性能需求指标(推算公式):

由于不同企事业单位业务要求不尽相同,标准也会有所不同,故以下公式仅供参考。

事务名称:每日必办;

(高峰)时段的总时长T(分钟):9*60(分钟)=540分钟;

(高峰)时间段事务数N(次):3000(个)*2(次);

(平均)每秒事务数(Tps)=N/(T*60)=事务数/时间=3000(个)*2(次)/(9 (小时)*(60分钟) *60(秒)) = 0.18 次/每秒;

(高峰)事务数(Tps^)=平均事务数(Tps)*4= 0.18 *4 = 0.74个/每秒;

(平均)并发数(C)=(平均)每秒事务数(Tps)*事务平均响应时长(L)=1;

(高峰)并发数(C^)=(高峰)并发数(C^)*4= 3。

四、性能需求指标(自动计算):

根据上面公式,设置好表单后,填写左边数值时,自动算出并填充右侧的数值。

五、测试脚本准备(模拟业务场景):

根据上面推算出的高峰并发数,可以设置相应的线程数。

工具:Jmeter 5.4

脚本如下:

测试计划

每日必办线程组 线程数=3 循环次数=1

系统登录事务

登录http请求

思考时间 1

循环控制器 循环次数=永远或足够多的运行次数

每日必办事务

每日必办http请求

监控器

jp@gc - Response Times Over Time

jp@gc - Transactions per Second

聚合报告

察看结果树

六、执行测试:

示例2:查询功能 (注:本示例与上面的示例不是同一功能)

执行压测时,监控结果如下

聚合报告截图如下:

响应时间截图如下:

jp@gc - Response Times Over Time

每秒事务数截图如下:

jp@gc - Transactions per Second

七、服务器监控:

监控服务器资源使用情况,查看压测时段,服务器资源使用情况是否正常。使用命令:./nmon_x86_64_opensuse12 -F 监控数据存放的路径及文件(如master1.nmon) -s 5 -c 182监控服务器资源使用情况。

监控的CPU、IO数据截图如下:

监控的剩余内存情况截图如下:

主要判断是否存在内存溢出。

 

标签:事务,示例,压测,推算,必办,监控,截图
From: https://www.cnblogs.com/dundunxiaozhan/p/17060591.html

相关文章

  • Spring MVC文件上传示例
    SpringMVC提供了一种上传文件的简便方法,它可以是图像或其他文件。让我们看一个使用SpringMVC上传文件的简单示例。必需的Jar文件要运行此示例,您需要加载:SpringCore......
  • Spring MVC分页示例
    分页用于在不同部分显示大量记录。在这种情况下,我们将在一页中显示10、20或50条记录。对于其余记录,我们提供链接。我们可以在SpringMVC中简单地创建分页示例。在此分......
  • Spring MVC CRUD示例
    CRUD(创建,读取,更新和删除)应用程序是用于创建任何项目的最重要的应用程序。它提供了开发大型项目的想法。在SpringMVC中,我们可以开发一个简单的CRUD应用程序。在这里,我......
  • opencv官网例程(4.7.0版本)运行示例
    使用官网https://opencv.org/releases/下载4.7版本下载好后添加环境变量到安装路径下以及在系统变量中添加OpenCV_DIR(也可以用set的方式从Cmakelist里添加)打开我......
  • 对 Pulsar 集群的压测与优化
    前言这段时间在做MQ(Pulsar)相关的治理工作,其中一个部分内容关于消息队列的升级,比如:一键创建一个测试集群。运行一批测试用例,覆盖我们线上使用到的功能,并输出测试报告......
  • Constructor注入(具有相关对象)示例
    在此示例中,我们使用 map 作为具有Answer和User的答案。在这里,我们将键和值对都用作对象。答案具有自己的信息,例如answerId,答案和postedDate,用户具有自己的信息,例如userId......
  • Constructor注入和Map示例
    Constructor注入和Map示例在此示例中,我们使用 map 作为具有已发布用户名答案的答案。在这里,我们将键和值对都用作字符串。像前面的示例一样,它是论坛的示例,其中 一个问......
  • Constructor注入以及示例
    我们可以在Spring框架中通过构造函数注入集合值。 constructor-arg 元素内可以使用三个元素。可以是:ListSetMap每个集合可以具有基于字符串和基于非字符串的值。在......
  • 依赖项构造方法注入示例
    我们可以通过构造函数注入依赖项。 <bean>的 <constructor-arg>子元素用于构造函数注入。在这里,我们要注入原始和基于字符串的值从属对象(包含对象)集合值等注入原始值......
  • Python tkinter 示例
    运行结果如下:    codefromtkinterimport*fromtkinterimportmessageboxasmbimportjsonclassQuiz:def__init__(self):self.qno=0......