热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

jmeter用户数线程数_jmeter根据负载量计算并发用户数实例

业务需求假设公司领导现在给你分配了一个性能测试需求如下:1:公司有1000人在上班时间段会登录平台进行打卡操作,可能会登录打卡多次2&#x

业务需求

假设公司领导现在给你分配了一个性能测试需求如下:

1:公司有1000人在上班时间段会登录平台进行打卡操作,可能会登录打卡多次

2:业务高峰时间段在8:00-8:30,半小时

3:需要保证90%用户的响应时间在1s以内

4:保证在半小时内支撑5000笔打卡业务完成,同时90%业务时间不超过1s,半小时内最大系统并发数能达到多少?每秒最大用户并发能达到多少?

分析需求

a.1000人在30分钟内完成登录,那么每分钟有1000/30=33的人登录,每秒有0.56人登录,也就是2s中有1个人登录;

b.5000笔打卡业务在30分钟内完成,那么每秒中需要完成5000/(30*60)=2.78个打卡事务;

综合就是半小时内,每2s有一人登录,每秒需有3个打卡事务;也就是线程持续时间30分钟,打卡tps=3;

循环一次,登录317ms+打卡976ms=1293ms,1s中可迭代0.77次;30分钟可迭代1392次;登录请求1个线程即可满足要求;

30分钟想完成5000笔打卡,需并发线程5000/1392=3.6 即4个线程;

实际请求中,还需要考虑登录时输入账户密码的时间,可加定时器;

测试模型构建 & 用例设计

这种需求是典型的根据负载量计算并发数的场景。首先我们需要设计一下业务场景;

一、场景构建:登录业务操作流程、考勤打卡操作流程;

二、场景用例设计

1.测试场景类型:

单业务基准测试、单业务压力测试、单业务负载测试;

综合业务基准测试、综合业务压力测试、综合业务负载测试;

2.业务量线程数的确定:

登录业务-线程数确定、考勤打卡-线程数确定;

3.测试场景用例设计:

登录并发-场景用例、登录业务量-场景用例、并发考勤-场景用例、考勤打卡业务量-场景用例;

三、测试脚本用例设计:

登录-脚本用例、考勤打卡-脚本用例;

模型构建

登录业务-操作流程

a)访问登录页面;

b)输入账号、密码,点击【登录】,跳转到主页;

c)点击【退出】,跳转到登录页面;

登录打卡-操作流程:

a)访问登录页面;;

b)输入账号、密码,点击【登录】,跳转到主页;

c)点击【考勤管理】,进入考勤主页;

d)点击【打卡】;

e)进入考勤打卡页面,查看打卡记录;

e )点击【退出】,跳转到登录页;

场景设计

性能测试过程中,首先应该设计测试场景,然后针对场景设计脚本。为了真实反映被测对象的性能问题,需要尽可能模拟出被测对象可能发生瓶颈的业务场景。然后设计针对业务的测试场景;

常用测试场景的类型;

性能测试通常有几种常用测试场景:单业务基准测试、单业务压力测试、单业务负载测试、综合业务基准测试、综合业务压力测试、综合业务负载测试;

1)基准测试

测试某个具体业务是否满足系统设计 或 用户期望的性能指标;基准测试可以为并发基准、业务量基准;

如,期望登录接口支持500个用户并发登录,同时响应时间不超过需求值。满足则认为基准测试完成,否则失败;

2)压力测试

测试某个具体业务在最大负载下,持续服务的时长,以此验证被测业务的稳定性;

压力测试过程中所设计的负载,是以系统基准测试为标准,如登录接口最大并发为500个并发,则压力测试的负载设计为500个;通过运行时长的变化,验证服务器在系统最大负载下持续服务的能力;

3)负载测试

测试某个具体业务能够承受的最大负载,验证被测业务能够承受的最大负载数;

如系统基准测试最大并发为500个,则通过多次测试,逐步加大负载,最终获得被测业务的最佳负载。在最佳负载下,系统需要满足各项性能指标;

登录打卡345ms*5=1725ms

加了事务控制器后,登录打卡1397ms

实际情况,还需要考虑以下情形的思考时间,如:

用户输入用户名、密码:5s;

打开考勤后等待时间:2s;

用定时器模拟思考时间;

那么一次登录打卡需要时间(t)为1.397+5+2=8.397s;

那么30分钟(T)可以迭代登录打卡的次数=30*60/8.397=214.36;实际需要5000笔业务数;

需要设置的线程数=5000/214.36=23.32,为了保证>=5000笔业务数,所以线程取24;线程数=5000/(60*T/t)=5000*[t/(60*T)]

由此可以得出:Thread = BC*[t/(60*T)],

BC:业务数/业务量,本例中 BC=5000 ;

t:单用户单次业务消耗时间,尽可能模拟真实用户的真实行为,本例中 t=8.397s;

T:考察时长,本例中 T=30分钟;

关于Thread,这里计算的是需要的线程数,事实上这个公式计算的是单位时间平均并发数。就是单位时间内有多少用户或者线程并发向服务端发起请求;

假如登录打卡业务场景,计算的是24.

在jmeter中表示需要系统平均需要24个线程同时发起请求才能在对应的时间段内支撑对应的业务量;

在真实的用户场景中,则表示平均每秒最大支撑24个用户同时发起请求才能在对应的时间段内支撑对应的业务量;

这个计算的是评价并发

对应的峰值并发:Thread_Max = Thread + 3*根号Thread

如果平均并发是24的花,那么Thread_Max = 24 + 3*根号24 = 38.7,每秒的并发用户峰值大约是39;

尴尬了,跑了2次,均未到达5000业务数,无解ing



推荐阅读
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • 本文探讨了在支付项目开发中使用SS5 Socket Server实现内部网络访问外部网络的技术方案。详细介绍了SS5的安装、配置及性能测试过程,旨在为面临相同需求的技术人员提供参考。 ... [详细]
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • 《软件测试精要》深度解析与实战经验分享
    《软件测试精要》深度解析与实战经验分享,系统梳理了软件测试的核心概念与关键原则,结合实际项目中的测试经验和教训,详细探讨了测试分类、测试权衡要素、测试效率、测试覆盖率以及测试框架的引入和用例设计等内容,为读者提供了全面而实用的指导。 ... [详细]
  • [转帖] 学习一下 apache bench 的总结简介 ( LAMP的没用过..)
    PS:网站性能压力测试是性能调优过程中必不可少的一环。只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题。Apache中有个自带的,名为ab的 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • MySQL 高性能实战教程
    本课程深入探讨 MySQL 的架构、性能调优、索引优化、查询优化及高可用性等关键领域。通过实际案例和详细讲解,帮助学员掌握提升 MySQL 数据库性能的方法与技巧。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • NTP服务器配置详解:原理与工作模式
    本文深入探讨了网络时间协议(NTP)的工作原理及其多种工作模式,旨在帮助读者全面理解NTP的配置参数和应用场景。NTP是基于RFC 1305的时间同步标准,广泛应用于分布式系统中,确保设备间时钟的一致性。 ... [详细]
  • 本文介绍了MySQL数据库的安全权限管理思想及其制度流程,涵盖从项目开发、数据库更新到日常运维等多个方面的详细流程控制,旨在通过严格的流程管理和权限控制,有效预防数据安全隐患。 ... [详细]
  • 本文详细介绍了使用Apache的AB工具和Webbench进行服务器性能测试的过程,分享了实际操作中的测试结果,并探讨了测试过程中遇到的问题及可能的解决方案。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 在多线程环境中,IpcChannel的性能表现并未如预期般优于Tcp和Http通道。实际测试结果显示,在IIS6中通过Remoting创建的Ipc通道,其速度比Tcp通道慢了约20倍。本文详细分析了这一现象的原因,并提出了针对性的优化建议,以提升IpcChannel在高并发场景下的性能表现。 ... [详细]
  • 建立项目接口文档_【学习】接口测试工具对比
    如今,接口测试工具这个市场,种类非常多,非常繁杂。国外接口测试工具巨头:postman、jmeter和loadrunner等 ... [详细]
author-avatar
飞飞鱼531
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有