欢迎光临

回答论坛网友<chooffy104>疑问

上一篇 / 下一篇  2008-07-28 16:39:44 / 个人分类:perfomance

lr也用了漫长一段时间,有个概念性的东西一直不太明白

性能测试步骤里,经常可以看到说“每秒发起X条请求”这样的句子,比如说,我想给一个WEB网页加压,想实现的效果,是每秒都有50个用户在尝试打开这个网站,那么这种效果是如何实现的呢

假如说50个用户并发,如果50个用户打开页面都需要1秒,那1秒之后大家都打开网站,开始重复打开第二次,这样确实可以实现每秒都有50个人提交了打开网页的请求
但是实际上,因为各个USER的速度不同,或者服务器响应时间等关系。
如果每个USER只要0.5秒就可以打开,那50并发的时候,实际上每秒每用户会打开2次,那就变成每秒发出了100个请求
如果每个USER要花2秒才能打开,同理变成了每秒25个请求

如果使用集合点,直到50个用户的时候,才同步发送请求
确实第一秒的时候,是50并发,但是第二秒,可能只有20个用户已经完成,这个时候因为集合点不满50,于是20个用户等待,直到第三秒才聚集50个用户,这样就变成第一秒50并发,第二秒0并发,第三秒50并发,中间有了1秒的真空期

这个问题我一直想不通
请问各位,在平常使用中,是如何设计来实现那种“每秒都有50个请求被提交到服务器”这样的效果呢?
 
个人认为:性能测试有个定量的问题。
  1. 测试环境需要确定。如果是专用网,那么客户端到服务器端的通路故障则一般不会体现;但是如果是门户网站,就像搜狐,访问它的用户遍布全球,各种网络用户都有,这种情况下客户端到服务器端的通路则会是很大故障。单纯的提多少个用户是没有意义的,必须结合一定的环境。
  2. 性能测试范围需要确定。比如,要求每秒50个请求,50个请求是什么样子的请求。比如设计的50个请求中,会不会一部分就是简单的浏览;而另一部分则是批量操作?明显的,两个操作不一样,耗时肯定不一样。所有需要详细分析业务模式是什么样子的,根据业务模式详细确定场景。
  3. 性能测试的测试结果分析讲究的是一个统计含义的分析。你可以看下你的测试结果属于哪种统计范畴。认为一般情况下不需要严格定义每秒的请求数量。例如,客户有可能要求的是服务器处理100条/分钟.那么我认为,你执行性能测试时间长60分钟,按照要求需要处理6000条数据/60分钟;服务器共处理请求5900条/10分钟与处理6100条/10分钟;是没有统计学意义上的差异的。

TAG: perfomance

 

评分:0

我来说两句

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 13075
  • 日志数: 15
  • 建立时间: 2008-01-10
  • 更新时间: 2008-12-15

RSS订阅

Open Toolbar