性能测试---并发用户计算

性能测试---并发用户

并发用户数

  大家都知道我们的性能测试就通过工具模拟多用户对系统进行操作,对系统造成压力,来验证系统的性能(不太标准的解释)。好多人也简单的把性能测试当成并发测试。那么这个“多用户”和“同时”两个因素缺一不可。只多用户不同时,很难对系统构成压力;没有多个用户,同时的概念也就自然不存在了

并发的两种情况

  一种是严格意义上的并发,即所有的用户在同一时刻做同一件事或操作,这种操作一般指做同一类型的业务。比如,所有用户同一时刻做并发登陆,同一时刻做表单提交。

  另外一种并发是广义范围的并发,这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或都操作可以是相同的,也可以是不同的。比如,在同一时刻有用户在登录,有用户在提交表单。

从服务器的角度来看并发

  前面的两种解释都是从用户业务的角度来解释并发的,因为我们平时所做的性能测试也是从用户端对业务层的操作来进行并发测试的。

  如果考虑整个系统运行过程中服务器所承受的压力是这样的:在该系统的运行过程中,把整个运行过程划分为离散的时间点,在每个点上,都有一个“同时向服务端发送请求的客户数”,这个就是所谓的服务器所承受的最大并发访问数。

真正意义上的并发不存在

  上面试谈了这么多并发,现在又说真正意义上的并发不存在。何解?学操作系统原理的同学都知道,CPU在一个时间点上只能干一件事儿。为什么我们可以边看电影,边打字,边语音。因为CPU很快很快,他可以处理一下电影,再处理一下打字,再处理一下语音。因为它很快,所以,它可以在多个程序之间快速瞬间的切换,给你造成的假象就是它在同时做这些事情。(现在的双核、四核的CPU另说)

  那么我们的系统在接到用户的请求后也要调用CPU来完成某些处理,然后返回给用户。那么我们对系统有做并发测试是测什么呢?举个简单的例子。假如有一位神医,他的看病速度非常快,假设他的看病速度是不变的;然后有一群接待人员来接待看病的客人,有成千上万的病人来看病,接待人员要想各种办法来做好接待工作,使病人更快的看到病。比如,可以事先咨询病人得的什么病,然后将病人进行分类,比如可以扩大接待室,让更多的病人可以进到医院来看病等。

  神医就是我们的CPU,接待人员就是我们的系统,病人就用户,我们做性能测试的目的就是了解接待人员哪个地方给医院看病造成了瓶颈。只来一个病人,医院的看病速度与服务很好。一下子来十万个病人各种问题就出来了。接待人员的服务态度下降,多余的人员跟本进不到医院去,医院的洗手间不够用,造成病人无法上厕所而离开,这些都属于系统问题。所以,我们一般测试的目的是看医院的接待能力。

系统用户数与同时在线人数

  在实际的性能测试中,经常接触到与并发用户相关的概念还有“系统用户数”与“同时在线人数”下面通过一个实例来描述他们之间的差别。

  假设有一个网站,注册用户才能登录使用各种功能,如上传头像,阅读专家文章等。该系统有20万注册用户,这就是说有20万用户可以使用这个网站的所有功能,20万就是这个网站的“系统用户数”,网站有一个在线统计功能,从统计数据中可以看到,同时登录网站的人数的最高记录是2万,就是有2万人同时用浏览器打开着这个网站。2万就是“同时在线人数”

  那么系统的并发用户数是多少呢?2万么?NO!这2万只表示在系统最高峰时有这么多用户登录了网站,并不表示实际服务器的承受压力。因为服务器承受压力还与具体的用户访问模式相关,在这2万用户中考察某一个时间点对用户发出请求数,可以会大大缩水。那么,该系统的服务端承受的最大并发访问数是多少呢?这个取决于业务并发用户数和业务场景,一般可以通过服务器日志的分析得到。

求并发用户数公式

在实际的性能测试工作中,测试人员一般比较关心的是业务并发用户数,也就是从业务的角度关注应该设置多少个并发数比较合理。

下面找一个典型的上班签到系统,早上8点上班,7点半到8点的30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每个员上登录签到系统的时长为5分钟。可以用下面的方法计算。

    C=1000/30*5=166.7

C表示平均并发用户数,那么对这个签到系统每分钟的平均在线用户数为166

当然,在性能测试上,任何公式都不是严谨的,最重要的是对系统做出有效正确的分析。

--------------------------

估算并发用户并发数公式:

1、用户从登陆系统到退出系统的间隔时间L
2、登陆系统的用户数量n
3、被考察的时间长度T
并发用户数C=nL/T
举例:
如果系统有3000个注册用户,平均每天400个用户要访问系统,一般一个典型用户在系统中停留4小时(从登陆到退出),在一天内,用户在8小时内使用该系统
并发用户数=400X4/8=200
如果你要计算峰值用户数的话,用另外一个公式
C1=C+3 X sqr(C)
C表示并发用户数
根据我之前算出的结果,并发用户数是200,那么公式为:
C1=200+3 x sqr(200)=242

转自:https://www.cnblogs.com/yunman/articles/5482173.html

原文地址:https://www.cnblogs.com/nnniki/p/10297843.html

时间: 2024-10-05 00:58:49

性能测试---并发用户计算的相关文章

(转)性能测试---并发用户理解

性能测试---并发用户 并发用户数 大家都知道我们的性能测试就通过工具模拟多用户对系统进行操作,对系统造成压力,来验证系统的性能(不太标准的解释).好多人也简单的把性能测试当成并 发测试.那么这个“多用户”和“同时”两个因素缺一不可.只多用户不同时,很难对系统构成压力:没有多个用户,同时的概念也就自然不存在了 并发的两种情况 一种是严格意义上的并发,即所有的用户在同一时刻做同一件事或操作,这种操作一般指做同一类型的业务.比如,所有用户同一时刻做并发登陆,同一时刻做表单提交. 另外一种并发是广义范

性能测试知多少---并发用户

虫师 大人不华,君子务实. 独立博客:http://www.testpub.cn 性能测试知多少---并发用户 2012-06-25 23:49 by 虫师, 24863 阅读, 10 评论, 收藏, 编辑 在做性能测试的时候,我们常常听到并发用户.响应时间.吞吐量专业术语,也许大家都理解,这里有一个理解的层次与深度概 念.最近有看断念<软件性能详解与案例分析>一书,看了他的讲解,原来我对这些术语的理解还是比较肤浅,其实,这里也主要受制于自己的知识面.所以,再拿 出来与大家重温一下. ps:按

如何利用JMeter模拟超过 5 万的并发用户

本文将从负载测试的角度,描述了做一次流畅的5万用户并发测试需要做的事情. 你可以在本文的结尾部分看到讨论的记录. 快速的步骤概要 编写你的脚本 使用JMeter进行本地测试 BlazeMeter沙箱测试 使用一个控制台和一个引擎设置Users-per-Engine的数量 设置并测试你的集合 (1个控制台和10-14 引擎) 使用 Master / Slave 特性来达成你的最大CC目标 步骤一1 : 编写你的脚本 开始之前,请确定从JMeter的Apache社区jmeter.apache.org

最终用户计算一周观察 001

有段时间没有给大家发消息了,今天登录公众号后台,意外发现最近粉涨了不少.这得感谢各位的推荐,让我如此低产的微信号还可以偶尔有做"网红"的感觉. 从本周开始,每周一我会给大家推送一条"最终用户计算一周观察",如果当周没有推送一周观察的消息,我会在粉丝中随机抽一位朋友,送上价格百元的礼品(可能是几本我最近看的书,也可能是别的),算是用这种方式来鞭策自己多写东西. 每周推送的内容不一定是行业的市场新闻,有可能是体会.有可能是一些新的技术.产品介绍(真的没有收广告费).本周

阿里云 -- 2万并发用户方案

要顶住2万并发用户 要购买多少台SLB,多少台ESC,多少台DRDS,多少台Redis,多少台OSS,多少个CDN包? 另外软件架构要用什么架构才能合理.充分利用上硬件资源,并且后期能够方便的. 通过拓展硬件资源. 支持更大的并发量? 说实话,我也不知道.只能大概估算一下. 假设购买下面的硬件资源: 负载均衡SLB: 用下面的ESC  配置 下面的DRDS: 下面的Redis: 静态存储OSS: CDN: 2万并发,假设每个网页大小为1M大小. 那么2万的数据量为20000*1M=20G 的流量

最终用户计算一周观察 002

最终用户计算一周观察,每周为你推送桌面虚拟化.移动化领域相关的个人臆断观点.路边社.IT界绯闻等扯蛋消息. 年少时看同乡的IT人士个个高大上,让我义无反顾干起了IT(Just Do IT),后来才知道,要比苦逼值,IT最屌丝.最近看到的一个客户招标的评分方法,技术评分的权重仅为10%,而商务评分为90%,这是只看价格,不看产品和技术的套路啊.在这里,我只能祝这种项目早日夭折了(事实上夭折的可能性很大,毕竟今天的桌面虚拟化技术还没有成熟到如此地步). 企业移动化市场面临洗牌.近两三年,MDM市场异

并发数计算

与并发用户数相关的概念还包括“并发用户数”.“系统用户数”和“同时在线用户数”,下面用一个实际的例子来说明它们之间的差别.假设有一个OA系统,该系统有2000个使用用户——这就是说,可能使用该OA系统的用户总数是2000名,这个概念就是“系统用户数”,该系统有一个“在线统计”功能(系统用一个全局变量记数所有已登录的用户),从在线统计功能中可以得到,最高峰时有500人在线(这个500就是一般所说的“同时在线人数”),那么,系统的并发用户数是多少呢?根据我们对业务并发用户数的定义,这500就是整个系

并发量计算

1.业务并发用户数:2.最大并发访问数:3.系统用户数:4.同时在线用户数:假设一个OA系统有1000用户,这是系统用户数:最高峰同时有500人在线,是"同时在线人数",也称作"最大业务并发用户数":500个同时使用系统用户中20%查看系统公告,不构成压力:20%填写表格(只在提交时才会请求,填写对服务器不构成压力):40%在发呆(什么都没做):20%用户不停从一个页面跳转另一个页面(只有这20%对服务器产生了压力).说明服务器实际压力,能承受的最大并发访问数,既取

关于每个并发用户去取不同参数值登录问题的记录

一.用户数刚好和数据匹配时: 比如说5个用户并发登录,已经参数化好了5组账户和密码,在并发时5个Vuser需要取不同的账户和密码,然后同时并发登录,那么参数应该按照如下的方式设置 unique  once 二.并发用户数大于配置的参数时: 10个用户并发登录,但是只有3组账户和密码,那么在Vuser取值时就会出现不够的情况,此时应该按照如下方式 Random once 三.并发用户数小于参数个数时: 3.1 2个用户并发登录,需要迭代3次(也就是并发3次),此时就需要给每个Vuser分配块,第一