【问题标题】:Stress and performance test on ASP.NET appASP.NET 应用程序的压力和性能测试
【发布时间】:2009-10-27 16:27:53
【问题描述】:
我想对我的 ASP.NET 应用程序的前端进行压力和性能测试。我的目标是:
- 识别瓶颈
- 了解 HTTP 请求的数量和负载
- 轻松确定使用 Expires 标头和/或被压缩的组件
- 找出增加下载并行化的地方
- 找到重复的脚本和不必要的重定向
- 确定会导致服务器宕机的负载
- 确定服务器优化的关键领域
除了 YSlow 和 Fiddler,我还应该使用其他工具来完成此测试吗?另外,请与我分享进行此类测试的最佳实践。
感谢您的帮助,
约翰
【问题讨论】:
标签:
asp.net
performance
stress-testing
【解决方案1】:
Visual Studio 测试版 (2008/10) 是完成这项工作的绝佳工具。您创建单独的 Web 测试并组合它们以在您的 Web 服务器上生成负载。
•识别瓶颈
该工具允许您准确配置要分析的 perfmon 统计信息。 2010 还自动化了进行数据库跟踪的过程。
•了解 HTTP 请求的数量和负载
这需要对您的 IIS 日志进行一些分析。获取 Logparse2.2(免费的 MS 工具)的副本。将日志加载到数据库中,看看发生了什么。
•轻松确定正在使用 Expires 标头和/或被 gzip 压缩的组件
同样,IIS 日志是了解其中内容的最佳位置。
•找出增加下载并行化的地方
IIS 日志会告诉您实际用户在哪里点击,但 Chrome 有一个非常好的工具可以逐页调查各个项目的时间。
•找到重复的脚本和不必要的重定向
这个不确定。
•确定会导致服务器宕机的负载
根据来自实时站点的“常见”页面请求组创建负载测试。添加虚拟用户,直到站点终止。请注意,任何半体面的网络服务器都需要相当多的处理才能关闭,因此您需要 MS 负载代理的许可证才能生成足够的负载。 Visual Studio 2010 将允许您为多个虚拟用户购买许可证,并将虚拟用户分散到多台机器上,以实现良好的负载。
•确定服务器优化的关键领域
负载测试工具捕获服务器性能统计数据并允许您找出服务器瓶颈。该测试还捕获各个页面的响应时间,识别出特别慢的页面以进行改进。