`
balaschen
  • 浏览: 192194 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

请教:压力测试如何换算并发用户数

阅读更多
有做过压力测试的哥们来说说,做压力测试如何计算并发用户数,我的应用场景如下:
一个企业内部的OA审批系统,大约3万个注册用户,锋值大约2万个在线用户,现在要做压力测试,要开多少个并发连接进行压力测试,才能模拟2万个再线用户?我知道不同使用情况,在线用户和并发连接并没有直接的换算关系,但我对这一点概念也没有,所以很想了解了解你们一般是怎么做的
分享到:
评论
8 楼 Joo 2008-11-27  
我觉得做压力测试首先要搞清楚测试的target,我一般做一个stress test第一个想的出来的结论就是系统的瓶颈在什么地方,是在应用服务器呢还是在数据库IO性能呢还是在建立连接消耗呢还是在java代码问题上,而不应该简单的用一个模拟的线程数来掩盖短处,有时候可能系统的确能满足1000用户同时在线plus200请求的并发,但或许这个时候数据库io已经很吃紧了,再加上个10并发就能挂掉,这样的情况下谁能保证哪天不会down掉,挂掉还好只要reboot就行,关键是到那个时候你在思考瓶颈在哪是不是稍微有点晚?
JMeter支持对AS和对DB的测试,不知道有没有朋友做过系统瓶颈侦测之类的活?拿出来分享一下
7 楼 catchwang 2008-03-05  
顶,学习。。。。。
6 楼 老肥羊 2008-03-01  
balaschen 写道
有做过压力测试的哥们来说说,做压力测试如何计算并发用户数,我的应用场景如下:
一个企业内部的OA审批系统,大约3万个注册用户,锋值大约2万个在线用户,现在要做压力测试,要开多少个并发连接进行压力测试,才能模拟2万个再线用户?我知道不同使用情况,在线用户和并发连接并没有直接的换算关系,但我对这一点概念也没有,所以很想了解了解你们一般是怎么做的

您需要先估算一个数字,就是系统的用户的操作频率是多少?假如系统的用户的操作频率是每10秒操作一次.
峰值约为20000个在线用户的话,那就是说理论上每秒有2000个操作.
假设2000个操作中每个操作的单独运行时间(除去网络传输及其它相关因素也就是从系统接收到用户的操作并由系统返回操作响应的时间,这个时候有一个问题,就是系统返回操作响应有两个时间,一个是系统开始响应用户操作时间,一个是系统响应完成时间,在WEB方面可以简单的描述成系统输出用户操作返回结果所需要的时间.按照多数的说法,就是系统完全输出用户操作返回结果的时间为一个元操作所需要的时间.
应用二八原则,就是说在0.2秒内需要响应2000个操作中的80%,也就是1600个操作.结果也就是说系统需要响应8000个操作并输出结果.假设平均结果输出为50Kb,则系统需要的最大输出为8000*50Kb/80%=500,000Kb约为489Mb的输出.
通过压力测试工具(如loadrunner)建立虚拟用户并执行,然后观察系统输出,当观察到虚拟用户数增加到某个值之后,此时模拟用户的数目约为这个系统测试时需要的并发用户数
5 楼 LucasLee 2008-01-07  
其实本来所谓"在线用户"也是个模糊的概念:
如何确定一个用户是否在线?从技术实现来看,就是一个用户的session是否保持有效,这个直接跟session实效时间设置有关,一般为20-30分钟.这个就有很大弹性了,一个用户10分钟访问一次页面,跟一个忙碌的用户,每分钟访问20次都属于一个"在线用户".
所以这个只是一个模糊的概念,必须要设置一个典型标准用户操作的场景来衡量,而如何设置它则是你们应做的,每个应用不同.
4 楼 balaschen 2008-01-07  
多谢楼上几位的建议
3 楼 sdyouyun 2008-01-04  
balaschen 写道
有做过压力测试的哥们来说说,做压力测试如何计算并发用户数,我的应用场景如下:
一个企业内部的OA审批系统,大约3万个注册用户,锋值大约2万个在线用户,现在要做压力测试,要开多少个并发连接进行压力测试,才能模拟2万个再线用户?我知道不同使用情况,在线用户和并发连接并没有直接的换算关系,但我对这一点概念也没有,所以很想了解了解你们一般是怎么做的


如果要近可能的精确,那就用loadrunner或者其他的性能测试工具模拟出2万个虚拟用户好了,多找几台机器加压
2 楼 celine 2008-01-03  
web系统,在线不等于并发,这个数字应该从需求分析得到~
你的系统不只有一个功能,所以,完整的压力测试至少有单场景、混合场景的压力(极限)测试、性能测试、稳定性测试......场景怎么来?看用户需求:例如用户预计一个月大概1000个单据,每个单据4个审批节点,用户没有特别的审批时间习惯,可看作这些审批工作在每周工作时间是平均分布的,那么可以近似估算单场景的峰值=2倍的均值

压力测试的环境,也有比较严格的要求,理想情况下,应该和生产环境是完全一致的配置,一般也可略小于生产环境。应用服务器和数据库服务器分开,这样才能测出瓶颈并进行调整。

建议你看看下面这本书:
软件性能测试过程详解与案例剖析 [专著]/段念 编著
1 楼 yangzx554 2008-01-03  
一般会看每秒的事务数,能达到多少.

相关推荐

    (源码)基于Spring Boot和JWT的饮品管理系统.zip

    # 基于Spring Boot和JWT的饮品管理系统 ## 项目简介 本项目是一个基于Spring Boot框架的饮品管理系统,主要用于管理饮品分类、商品信息、员工登录及权限管理等功能。系统通过JWT(JSON Web Token)实现用户身份验证和授权,确保系统的安全性和可靠性。 ## 项目的主要特性和功能 1. 商品管理包括商品的添加、编辑、删除和查询功能,支持分页查询和按分类查询。 2. 分类管理支持饮品分类的添加和查询,方便用户按类别浏览商品。 3. 员工登录与权限管理实现员工登录功能,并根据员工角色分配不同的菜单权限。 4. 图片上传与管理支持商品图片的上传和更新,确保商品信息的完整性。 5. 验证码生成与验证提供图形验证码的生成和验证功能,增强系统的安全性。 6. JWT身份验证使用JWT实现用户身份验证和授权,确保系统的安全性和可靠性。 ## 安装使用步骤 1. 复制项目 bash 2. 配置数据库

    阿里巴巴发布的XQUIC库是QUIC和HTTP3协议的跨平台实现.zip

    c语言

    佳能打印机清零软件和教程

    佳能打印机清零软件和教程

    双哥微服务.md

    双哥微服务

    python项目4.每天不同时间段通过微信发消息提醒女友.zip

    python项目4.每天不同时间段通过微信发消息提醒女友

    两个半小时玩转iOS缓存之YYCache、视频讲解详细清晰.wmv

    两个半小时玩转iOS缓存之YYCache、视频讲解详细清晰.wmv

    基于Python语言下Django框架的一个网站式的诊所管理系统.zip

    基于Python语言下Django框架的一个网站式的诊所管理系统 这是一个基于Python语言下Django框架的一个网站式的诊所管理系统,Python的版本为2.7。该系统是一个课程设计,毕业整理资料是觉得发表到码云上更利于保存,但因为个人原因数据库文件没有保存。该项目前端使用了bootstrap框架,完成了小型诊所的日常办公需要。

    多功能焊台T12JBC245烤箱回流焊加热台风枪可调电源简易双通道示波器函数发生器高精度PWM脉冲.zip

    c语言

    Jupyter Notebook《基于双流 Faster R-CNN 网络的 图像篡改检测》+项目源码+文档说明+代码注释

    <项目介绍> - 基于双流 Faster R-CNN 网络的 图像篡改检测 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    C语言_微控制器的高级神经网络库.zip

    c语言

    【小程序毕业设计】汉语学习微信小程序的设计与实现源码(完整前后端+mysql+说明文档).zip

    环境说明: 开发语言:Java/php JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea 小程序框架:uniapp/原生小程序 开发工具:HBuilder X/微信开发者

    使用本地DNS服务器获取最快的网站IP地址.zip

    c语言

    RagFlow Docker安装与配置详细指南

    内容概要:本文档详细介绍了RagFlow系统的安装步骤,包括两种主要方法:一是利用Docker容器化部署,需要加载并运行多个Docker镜像;二是源码编译安装,涉及拉取GitHub仓库、配置环境变量以及手动启动多项依赖服务。此外,文中提供了下载必要文件的百度网盘链接及提取码,确保了所有所需的安装资料均可顺利获取。 适用人群:对于RagFlow有兴趣或需要集成使用的软件开发者,尤其是具有一定Linux操作经验和Docker使用背景的技术人员。 使用场景及目标:本教程适用于想要快速搭建RagFlow系统的研究人员和技术团队,帮助他们高效地完成安装与初始化设置,以便于后续的应用开发或者功能测试。 阅读建议:在阅读前先确保自己的计算机环境满足基本的要求,比如已经安装好Docker引擎等工具;并且推荐先浏览一遍全文,形成大致的操作流程概念后再具体执行各步骤;遇到不明确的地方时,应及时查阅相关组件官方文档补充知识点。

    创维8A13机芯 K1系列 主程序软件 电视刷机 固件升级包

    机芯:8A13、8A16 强制升级方法说明: 1、将升级压缩包(updatek1.zip、uImage_recoveryk1、factory_update_param.aml、aml_autoscript文件)存入U盘的根目录。 2、电视断电后将U盘或SD卡插入电视机的相应端口,长按待机键上电,等15秒左右松开按键。系统会自动进行升级。 3、升级时,OSD会提示系统自动关机,此时不能对电视机进行操作,请等待电视机自动重启,重启后才进入真正的升级阶段,电源指示灯会红蓝灯闪烁,此时屏幕上会显示齿轮和升级进度。 4、待升级完成后,系统会自动重启电视机,升级后的第一次重启的开机速度会比平时长3-5分钟(数据拷贝需要一些时间),请勿在此阶段关机,以避免数据拷贝出错导致系统异常。 注意: 1、U盘要求使用FAT32格式,建议4G-8G的品牌U盘,刷机成功率会高 2、升级到结束,大约需要8-30分钟,中途绝对不能断电 3、升级重启第一次进入系统,请等完全正常进入开机桌面之后,才能拨下U盘

    基于Python+Django+Vue3+Uni-App+MySQL实现的前后端分离的影城微信小程序+PC端后台(数据库+源码)

    项目名称: 基于Python+Django+Vue3+Uni-App+MySQL实现的前后端分离的影城微信小程序+PC端管理后台(数据库+源码) 技术栈: 开发工具:PyCharm,HBuilderX, Visual Studio Code (VSCode) 运行环境:Python 3.10,MySQL 8.0,Node.js 18 技术框架:Django 5,Vue 3.4,Element Plus 2.6, Uni-App 项目功能不复杂,大部分都是小程序静态展示,适合小白新手去学习! 项目功能包括: 1.微信小程序端 首页:展示轮播图,路线,门票信息 地图:展示园区地图(静态图片) 商城:显示影城门票,登录后,可以完成购买门票流程。 我的:可以登录,登录后进入我的个人中心。 我的个人中心:可以我的个人信息,查看我的订单,付款,退款操作。查看我的收藏,可以查询常见问题。 VIP会议,可以定制行程,通过调查问卷的形式,生成定制化的旅游路线。 2.管理员后台端 管理员:可以查询订单,可以处理订单退款操作。

    MTK DTV芯片规格书:MT9255BBANAD-pb2

    MTK DTV芯片规格书:MT9255BBANAD-pb2

    测试用例及测试计划.zip

    测试用例及测试计划.zip

    【天线】基于matlab均匀圆形阵列和均匀线阵列天线的辐射方向图【含Matlab源码 9143期】.mp4

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    java项目,课程设计-ssm疫情期间医院门诊管理系统.zip

    21世纪的到来,国家的方方面面、各行各业都在努力与现代的先进技术接轨,智能科技时代崛起的优势,医院门诊管理系统当然也不能排除在外。疫情期间医院门诊管理系统是以实际运用为开发背景,运用软件工程开发方法,采用SSM技术构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统总体结构设计、系统数据结构设计、系统功能设计和系统安全设计等;详细设计主要包括模块实现的关键代码,系统数据库访问和主要功能模块的具体实现等。最后对系统进行功能测试,并对测试结果进行分析总结,及时改进系统中存在的不足,为以后的系统维护提供了方便,也为今后开发类似系统提供了借鉴和帮助。 本疫情期间医院门诊管理系统采用的数据库是Mysql,使用SSM技术开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

    python《狭窄自由空间中多车辆协作规划的混合A星轨迹规划(基于多车辆运动序列规划进行轨迹规)》+项目源码+文档说明+代码注释

    <项目介绍> - 这是一个混合A星轨迹规划器。 该方法可以基于多车辆运动序列规划进行轨迹规划。 该轨迹可用于非完整车辆。 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

Global site tag (gtag.js) - Google Analytics