请问最大在线用户数如何估算呢?
对于B/S结构的系统,在有了正常响应时间内的最大并发数数据后,如何来估计或是测试出最大在线用户数呢? 关注一下 ;)楼主关注的就是我想知道的
同时,对于测试系统来说,针对某一个模块和其他模块的最大用户并发数不同,如何确认在整个系统的用户并发数? 性能测试是个收集分析数据的过程在做性能测试的时候需要对历史数据进行分析,这样才能知道在线用户和并发用户的整体关系!
还有一个吞吐量和并发用户,响应时间是相互影响的!
性能测试是一个调优的过程!不是一次性的行为,所以应该先确立目标,然后执行,不断去调优系统,最后找到系统的最大用户数,和最大并发用户数! 我的疑问是: 如果我在脚本里面取消think time时,测试出最大的并发数,这时候在推算最大在线用户数的时候不是很好把握。有什么好的建议吗?
例子: 我在测试web的login动作,没有think time ,并发300时,响应时间时2秒,hits数是400hits/sec,这个时候你怎么去算最大的在线用户数。
关注
请问楼上的响应时间在哪能看到?:p 关注该主题,我有类似的问题。同意pcl2004_27的观点
在你做性能测试前,应该对你的系统的每天不同时间段不同页面的访问量的历史记录进行统计分析,可以把不同时间段分为几个阶段,然后不同的页面访问人数进行分析。如果你盲目的进行性能分析,对一个访问量不到10人的页面进行性能测试好像没什么意义吧,我想。 在确定测试的点之后,问题的重点是如何通过测试出来的数据去推算真实场景中的并发数。 从严格意义上来说,你场景中使用的用户数就是实际的用户数,这些虚拟用户的行为就是你模拟的实际用户的行为;你用300个用户测试,反应时间是2秒,那么在2秒的标准下,你的系统就是只能承载300个实际用户,当然这些用户的行为就是你所指定的行为。有些测试人员在测试时,习惯不要thinktime,这其实是不好的;不过你这么做了,就可能引出一个估算的问题。我告诉大家一个很粗糙的估算方法,以上面的例子为例:300个VUser,2秒的反应时间,400hits/sec;如果实际操作用户有1秒的操作延迟,模拟的用户数=300x(2+1)/2=450个;如果实际操作用户有2秒的操作延迟,模拟的用户数=300x(2+2)/2=600个。当然这么估算,有一个非常重要的前提:系统资源足够充裕!! 参见下面的解释和讨论
http://www.qaforums.com/cgi-bin/forums/ultimatebb.cgi?ubb=get_topic;f=6;t=003673
个人意见
照 yuxingxin 的说法,实际是估算的二分之罗 Originally posted by zhuhai at 2005-6-4 08:24 AM:照 yuxingxin 的说法,实际是估算的二分之罗
何为二分之罗?要看清我公式的含义。
估算用户 = 测试用户 x (事务反应时间 + 实际用户操作延迟时间)/事务反应时间 性能指标中的用户一般指的是业务上的用户,而loadrunner中的虚拟用户指的是软件意义上的用户。两者有时是一致的,有时却大相径庭。这都需要性能测试人员来分析的。
楼主提到的web系统,需求上的用户并发在线一般指的是多少个终端与server保持会话链接,具体点就是说server端能够保持多少个session会话。而loadrunner的虚拟用户只是发起一次http的请求,可能会建立新的session,也可能会在原来的session上进行。这就不同了。
而一般的CS结构系统简单点,一个socket链接就是一个用户,这几乎和需求中的用户是一致的。 在线与并发是两个不同的概念。并发是会产生hit的,就是loadrunner中收集到的指标hits/s,这些hits是真正对服务器产生压力的所在。而如果只是在线,则只保持了会话连接,是不产生hit的。就像qq麻将一样,同时在线的有几十万,但只有玩家发牌点击鼠标时才会是并发,才会对服务器产生压力。至于如何用loadrunner来估算在线用户数,我也不知道哦,嘿嘿,希望下面的能解答。不过我想这个并发和在线二者之间肯定存在一定的关系的。 估算用户 = 测试用户 x (事务反应时间 + 实际用户操作延迟时间)/事务反应时间
请问这个公式是不是就是通过并发用户估算在线用户的?还是估算有thinktime差异时的所支持的并发用户数的? 我也很想知道在线人数与并发人数的关系。大家继续讨论啊。
跟踪
大家继续讨论关注!!
这里所说的并发是通过设置集合来实现的吗?如果我设置300个vuser执行登录操作,在点击登录按钮时通过集合设置50个用户并发操作,那这算不算是300个用户在线,50个用户并发呢?
还有如果我设置了迭代的话,比如上面这个场景迭代了10次,那么测试出来的结果应该怎么来计算同时在线和并发用户数呢? 我和搂主的情况一样, 唯一的区别是没有设置 迭代, 而是加载完用户后继续运行5分钟。
但我想并发是否应该是一次性的操作,不应该在一段时间内测试并发。