51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 7471|回复: 14

[讨论] 共享一个视频:如何测试服务器的最大并发数

[复制链接]

该用户从未签到

发表于 2013-10-11 21:26:27 | 显示全部楼层 |阅读模式
在线播放网址:http://www.tudou.com/programs/view/bBgukENTnTg/
视频下载网址:http://pan.baidu.com/s/19oukr

满足最大并发数条件
1、用户都要成功
2、用户事务时间(以网页为单位,或整个脚本)需要在合理范围,一般是满足“2-5-8”原则,太长时间则认为用户也是失败的,因为一个网站如果响应时间太长,用户不能忍受,则会损失用户。

另外,该视频介绍了测试工具测试的最大并发数,并不能代表服务器支持的最大并发数,因为很多测试工具(包括loadrunner)运行的虚拟用户对服务器的压力要小于真实的用户,所以测试工具测试的最大并发数比实际要大,但大多少,是很难估算的,(有些HTTP吞吐量大,有些HTTP需要访问数据库或访问另一个服务器,即没个HTTP的时间有大有小,不能简单的平均,所以估算实际用户数很难,周边的人都这样认为,不知道论坛上有没高手)。
所以只有模拟真实用户行为,才能简单得出系统最大并发数,让性能测试更轻松

还有,该视频介绍事务的时间是有条件的
不是一般测试工具的事务时间,因为对于网站性能测试,一般测试工具不能模拟浏览器的行为,事务时间就无法用“2-5-8”原则来评估,而模拟了真实用户行为才能简单实用“2-5-8”原则来评估

欢迎大家交流讨论,怎么更好地测试出系统支持的用户数,性能测试一个目的是调优,还有一个重要的目的是评估支持多少用户数,这是架构平台级的(即使用什么性能服务器,要多少台),也是领导与用户最关心的,让性能测试更轻松
回复

使用道具 举报

  • TA的每日心情
    无聊
    前天 09:12
  • 签到天数: 918 天

    连续签到: 3 天

    [LV.10]测试总司令

    发表于 2013-10-12 11:56:17 | 显示全部楼层
    支持视频共享!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-10-14 10:06:28 | 显示全部楼层
    服务器并发数的测试确实是一个比较重要的点,补习补习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-10-17 13:35:43 | 显示全部楼层
    并发数要么通过计算的出来,要么服务端监控得到
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-10-18 09:14:24 | 显示全部楼层
    回复 4# fengzzzz


        请问怎么计算呢,还有服务端怎么监控,能教下吗
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2013-10-18 23:23:05 | 显示全部楼层
    回复 4# fengzzzz


        1、怎么计算,很难计算
       假设一个页面有A、B、C、D四个请求,浏览器是并发他们的,但是C响应时间要1秒(访问数据库或后台服务器),其他ABD则很快100毫秒,则整个页面时间应该是1秒
       所以测试工具能够模拟浏览器并发(每一个虚拟用户跟浏览器一样的并发数)并为页面设置了事务后,该事务值就表示了该页面的时间,用户都不需要计算。
       
       假设测试工具时串行的,则事务时间为A+B+C+D,那么怎么得到页面的时间呢,很难计算的。肯定不是取平均值,因为一平均整个页面才400毫秒,跟实际情况不一样,实践情况还有TCP建立时间。   
       另外,在并发情况下A在每个用户的时间很大可能都不一样,B也是,由于工具没有每个HTTP请求的时间,而是整个事务的时间,所以事务时间太大时,就不知道是哪个导致的,
       因为可能在并发小时是C时间长,但并发大时可能是B(假设下载一个大图片)的时间长,或者TCP建立时间长,所以很难计算该事务换算成页面的时间;身边做性能测试有经验的人也是这样认为,
       因为无法得到每个虚拟用户每个HTTP请求的信息,就算得到也很难计算。
       
       但如果是测试工具能够模拟浏览器并发则事务多少就表示页面多少,都不需要计算。
       
       所以说通过测试工具的值再自己计算出来,很不现实
       
    2、服务器监控得到并不代表最大并发数
       1)很多WEB系统是没有这个功能的,因为很多WEB服务器都没有用户信息
       2)假设有用户信息(用户名、状态),但用户登录后没退出,但浏览器已经关闭,即脚本已经运行完,然后WEB系统还存在该信息,只是超时才删除,这时候统计的用户数不是最大并发数
          而是在线数,因为用户这时已经没有对WEB系统有压力啦
       3)假设用户一直在线压,没有出现在线但没请求的去哪个看,那么有多少用户数,只是表示你的系统里面有这么多用户数据,也确实有这么多用户在处理
          但由于测试工具没有模拟浏览器行为,这时测试用户数与真实的用户数是不一样的。因为真实用户数压力更大,这个可以看视频的例子
       
       所以,如果测试工具确实模拟了浏览器一样的压力,那么不需要查询服务器(很多测试人员可能不会,或者没条件),测试工具显示最大多少就是多少,用户一目了然,多好啊。
       
    这就是我一直强调模拟浏览器行为,然后根据事务时间符合“2-5-8”原则来进行性能测试,这样的思路才让性能测试更清晰,更轻松
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-10-23 09:03:07 | 显示全部楼层
    回复 6# linneiwei


        顶,牛人,学习啦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-10-28 10:46:09 | 显示全部楼层
    确实是这样,前几天去面试,面试官问,浏览器将所有数据都展示给用户的性能,该怎么去监控测试,因为我们在测试的时候检查点设置的仅仅是侦测返回的数据包,数据成功返回不代表页面展示出来了,返回的数据或图片还需要重组,这个还需要时间,有时比请求返回的时间还要长,不知道怎么去下手。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2013-10-29 19:35:17 | 显示全部楼层
    回复 8# tianlang001


        是的,浏览器是并发的,且渲染界面需要时间,所以HTTP请求会受界面影响,如果使用了kylinPET工具模拟浏览器并发功能,并且选择按照录制时间间隔,就可以模拟渲染影响到HTTP的时间。

    上面的补充:
    假设测试工具模拟里浏览器一样的行为(即是并行而不是串行)的,则ABD是100毫秒,C响应时间1秒时,整个事务的时间是1秒,与正常情况一样;如果是A因为TCP重传变为3秒,而C才1秒,则整个时间是3秒,取最大那个,因为是并行的。 这样,测试工具测试的事务时间是多少,就表示用户访问该事务时多少时间,一目了然,不需要用户去计算。


    很多人不了解loadrunner的模拟用户行为,所以以为loadrunner测试多少就符合多少用户,这是由于很多人不了解浏览器是并发请求页面的。

    由于以前我们在测试上计算用户数这块很复杂,所以才在kylinPET工具增加了模拟浏览器的功能,这是个很实用的功能。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-10-31 23:51:46 | 显示全部楼层
    视频共享顶一个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-11-1 18:50:37 | 显示全部楼层
    回复 8# tianlang001


        在浏览器端的解析和渲染,属前端的部分了,需要前端工具测
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-11-12 14:13:06 | 显示全部楼层
    有道理,以前跟我们性能测试的人员聊过,后来在网上找到一篇文章讲loadrunner怎么换算实践用户数的论文,文章名称忘了,是一个比较复杂的数学公式,而且是测试多次的统计学,但没什么说服力,感觉文章讲的不合理。

    如果能模拟浏览器并发行为,那确实就不需要计算,直接看就行

    楼主,loadrunner不支持模拟浏览器并发吗?使用进程方式?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-11-13 10:29:15 | 显示全部楼层
    顶视频共享!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2013-11-23 17:21:45 | 显示全部楼层
    更好的性能测试,还需要了解很多与工具无关的知识,这样才能知道如何调试,测试出问题是什么原因

    参照一哥们写的:http://www.51testing.com/html/95/302795-852001.html
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-9-10 15:59
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2013-11-29 15:48:31 | 显示全部楼层
    学习了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 08:48 , Processed in 0.083151 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表