ASP.NET 应用程序的压力和性能测试
我想对 ASP.NET 应用程序的前端进行压力和性能测试。我的目标是:
- 识别瓶颈
- 了解 HTTP 请求的数量和负载
- 轻松确定正在使用 Expires 标头和/或进行 gzip 压缩的组件
- 找出在何处增加下载并行化
- 找到重复的脚本和不必要的重定向
- 确定将带来的负载确定
- 服务器优化的关键领域
除了 YSlow 和 Fiddler 之外,我还应该使用其他工具来完成此测试吗?另外,请与我分享进行此类测试的最佳实践。
感谢您的帮助,
约翰
I want to conduct a stress and performance test on the front-end of my ASP.NET app. My goal is to:
- Identify bottlenecks
- Learn the number and the load of HTTP requests
- Easily determine the components that are using an Expires header and/or being gzipped
- Figure out where to increase download parllelization
- Locate duplicate scripts and unncessary redirects
- Determine the load that will bring down the servers
- Pinpoint key areas of server optimization
Besides YSlow and Fiddler, are there any other tools that I should use to complete this test? Also, please share any best pratices for conducing this kind of test with me.
Thanks for your help,
John
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您有钱,Web Metrics 有一个有趣的产品,称为 SiteStress (http://www.webmetrics. com/products/site_stress.html)。大约一年前我研究过它们,但最终没有使用它们。
If you have the money Web Metrics has an interesting offering called SiteStress (http://www.webmetrics.com/products/site_stress.html). I looked into them a year or so ago but didn't end up using them.
Visual Studio 测试版 (2008/10) 是完成这项工作的绝佳工具。您创建单独的 Web 测试并将其组合起来在您的 Web 服务器上生成负载。
•识别瓶颈
该工具允许您准确配置要分析的性能统计数据。 2010 还自动执行数据库跟踪过程。
•了解HTTP请求的数量和负载
这需要对 IIS 日志进行一些分析。获取 Logparse2.2(免费的 MS 工具)的副本。将日志加载到数据库中并查看发生了什么。
•轻松确定正在使用 Expires 标头和/或被 gzip 压缩的组件
同样,IIS 日志是了解其中内容的最佳位置。
•找出在哪里增加下载并行化
IIS 日志会告诉你实际用户在哪里点击东西,但 Chrome 有一个非常好的工具来逐页调查单个项目的时间。
•找到重复的脚本和不必要的重定向
对此不确定。
•确定导致服务器瘫痪的负载
根据来自实时站点的“常见”页面请求组创建负载测试。添加虚拟用户,直到站点停止运行。请注意,任何半像样的网络服务器都需要相当多的处理才能关闭,因此您将需要 MS 负载代理的许可证才能生成足够的负载。 Visual Studio 2010 将允许您为多个虚拟用户购买许可证,并将虚拟用户分散到多个计算机上,以获得良好的负载。
•查明服务器优化的关键领域
负载测试工具捕获服务器性能统计数据,并允许您找出服务器瓶颈。该测试还捕获各个页面的响应时间,识别特别慢的页面以进行改进。
Visual Studio Test Edition (2008/10) is a great tool for the job. You create individual web tests and combine the to generate a load on your webserver.
•Identify bottlenecks
The tool allows you to configure exactly the perfmon stats you want to analyse. 2010 also automates the process of taking a database trace.
•Learn the number and the load of HTTP requests
This requires some analysis of your IIS logs. Get a copy of Logparse2.2 (free MS tool). Load the logs into a database and have a look at what is going on.
•Easily determine the components that are using an Expires header and/or being gzipped
Again the IIS logs are the best place to get a handle on what is there.
•Figure out where to increase download parllelization
The IIS logs will tell you where abouts your actual users are hitting things, but Chrome has a really nice tool to investigate page by page the timing of invidual items.
•Locate duplicate scripts and unncessary redirects
Not sure for this.
•Determine the load that will bring down the servers
Create a load test based on a "common" group of pages requests from the live site. Add virtual users until the site dies. Be aware that any half decent webserver is going to require quite a bit of processing to take down, so you will require a licence for the MS load agents in order to generate enough load. Visual Studio 2010 will allow you to buy a licence for a number of virtual users and spread the virtual users of a number of machines in order to get a good load happening.
•Pinpoint key areas of server optimization
The load test tool captures the server perfmon statistics and allows you to find out the server bottlenecks. The test also capture the response times for individual pages, identifying particularly slow pages for improvement.