在负载/性能测试期间,如何找到IIS模拟的平均并发用户数?
问题内容:
我正在使用JMeter进行负载测试。我正在研究并尝试通过简单地增加分布式JMeter测试用例中的线程数并启动测试来找到我们的Web服务器可以处理的最大并发线程(用户)数。
然后-让我感到震惊的是,虽然最大数量可能有用,但我的网站实际上平均要处理的 真实 用户数是我使测试富有成效所需的人数。
以下是有关我们的设置的一些信息:
- 这是一个混合的.NET / Classic ASP网站。登录后,将同时为两个用户创建一个浏览器会话(带有超时)。
- 每个会话在60分钟后超时。
有没有一种方法可以使用这些信息,IIS日志,性能计数器和/或某种计算方式来帮助我确定我们在生产站点上处理的并发用户的平均数量?
问题答案:
我可以在这里看到几个选项。
-
使用性能监视器来获取当前数字,或者整天记录下来并获得平均值。ASP.NET具有“ 当前请求数”计数器。根据此页面, Classic ASP也有一个Requests当前,但是我自己从未使用过。
-
通过Log Parser运行IIS日志,以获取请求的总数以及每个请求花费的时间。我在想,如果您知道每小时有多少个请求以及每个请求花费了多长时间,那么您可以得到平均有多少个并发运行。
另外,请记住,并发用户与服务器上的并发线程并不完全相同。首先,在下载图像之类的内容时,每个用户将有多个线程处于活动状态。之后,服务器空闲时,用户将在页面上停留几分钟。