性能测试之并发用户数 - 一个定义模糊的术语
时间:2008-05-04 来源:beiyu95
从事性能测试也有两三年了,自认为对并发用户的概念理解还是比较到位的,今天仔细看了mcicrosoft ACT小组的文章后,发现他们的解释比较规范。
-------------------------------------------------
术语并发用户数是一个经常被误解的定义模糊的术语,该问题的答案取决于我们怎样定义和解释并发。http协议本身是没有状态的,根据请求获取和发布信息,但是通常在用户请求之间保持空闲状态。比如,有人根据性能计数器的current anonymous users计数器来明确并发用户数。这会引起误导,因为一个用户可能只是简单地通过一个请求创建一个连接,然后离开。而另外一个用户可能发出很多次请求,但是这些请求是作为一个连接计数的。
在其他情形中,假设有1000个用户正在浏览Ibuyspy这个.net示例web应用程序。然而,可能一部分用户请求正在被web服务器并发处理,剩下的用户群正处于通常被称为思考时间(Think Time)的状态,也就是说他们正在填一份表单或阅读数据,然后才会从服务器中获取或发布数据从而产生额外的服务器活动。在这种特定的情况下,尽管在相同的总体时间框架内有1000个IBuyspy用户正在与站点进行交互,但这1000个用户请求中只有一个子集正在被服务器并发地处理着。
在使用TCA(transaction cost analysis)方法来进行容量规划时,并发用户数这样被解释:TCA并发用户数代表了正在消耗您的服务器资源的一般用户的数量。
-------------------------------------------------
按照我的个人理解,在一般的性能测试中,(使用loadrunner, jmeter或类似工具),重要的是真正清楚自己所关注的操作点和操作流程,然后对关注的事务在合适的位置设置并发点,以达到向服务器发送并发请求的目的。毕竟很多时候建立准确的模型进行测试和验证是不太现实的(往往是因为投入过大)。
-------------------------------------------------
术语并发用户数是一个经常被误解的定义模糊的术语,该问题的答案取决于我们怎样定义和解释并发。http协议本身是没有状态的,根据请求获取和发布信息,但是通常在用户请求之间保持空闲状态。比如,有人根据性能计数器的current anonymous users计数器来明确并发用户数。这会引起误导,因为一个用户可能只是简单地通过一个请求创建一个连接,然后离开。而另外一个用户可能发出很多次请求,但是这些请求是作为一个连接计数的。
在其他情形中,假设有1000个用户正在浏览Ibuyspy这个.net示例web应用程序。然而,可能一部分用户请求正在被web服务器并发处理,剩下的用户群正处于通常被称为思考时间(Think Time)的状态,也就是说他们正在填一份表单或阅读数据,然后才会从服务器中获取或发布数据从而产生额外的服务器活动。在这种特定的情况下,尽管在相同的总体时间框架内有1000个IBuyspy用户正在与站点进行交互,但这1000个用户请求中只有一个子集正在被服务器并发地处理着。
在使用TCA(transaction cost analysis)方法来进行容量规划时,并发用户数这样被解释:TCA并发用户数代表了正在消耗您的服务器资源的一般用户的数量。
-------------------------------------------------
按照我的个人理解,在一般的性能测试中,(使用loadrunner, jmeter或类似工具),重要的是真正清楚自己所关注的操作点和操作流程,然后对关注的事务在合适的位置设置并发点,以达到向服务器发送并发请求的目的。毕竟很多时候建立准确的模型进行测试和验证是不太现实的(往往是因为投入过大)。
相关阅读 更多 +