我为我的网站创建了一个 Web 负载测试,将用户数量从 1 增加到 300。测试中记录的性能令人震惊,完全超出了我能想象的最差性能 - 想象一下一个简单的登录脚本的响应时间长达 10 分钟!
我的直接怀疑是我在一台计算机上模拟 300 个客户端。我猜想我自己的计算机的处理能力和互联网带宽比服务器更成为瓶颈。
有没有更好的方法来测试我的网站的性能,从而产生更真实的结果?
最佳答案
首先,您可以从开发人员机器上运行负载测试,但通常不建议进行大型负载测试:您的机器将托管一个网站,运行负载测试,模拟虚拟用户,将测试结果存储在本地数据库中。 .. 很容易理解您的机器将成为负载测试中的瓶颈。它仅适用于小型冒烟测试。
为了模拟大量用户,您将设置所谓的负载测试装备。如果可能,请尝试将您的网站托管在单独的计算机上,并使用 TestController 和代理。 Controller 管理和协调代理机器,代理针对应用程序(托管在其他地方)生成负载。
我使用 Visual Studio 负载测试已有 2 年了,我发现它非常强大且易于使用。还有许多隐藏的未记录的功能/属性对于理解非常重要
- 新用户百分比和缓存控制
- 思考迭代之间的时间
- 远程测试设置(不收集 intellitrace,或运行 asp.net 分析 session ) ...
其中一些已列出 here .
我通常也不使用步进模式运行负载测试,而是使用针对 Web 服务器上 50% CPU 的基于目标的模式。
关于visual-studio-2012 - 如何在 Visual Studio 2012 中获得真实的 Web 负载测试结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17523655/