Asp.net 解释负载测试结果

Asp.net 解释负载测试结果,asp.net,load-testing,performance-testing,Asp.net,Load Testing,Performance Testing,我继承了一个ASP.NET web应用程序(WebForms web站点),它的性能确实非常差。只要看一下代码,就会发现一本关于如何不编写.Net应用程序的百科全书(我说的是到处都是字符串连接、循环中的数据库访问、母版页中的文件I/O_load…等等) 虽然这个应用程序将要进行一次大的重写,但同时我仍然需要使它更加健壮,所以我一直在使用LoadUIWeb2进行大量的负载测试。我创建了一个非常简单的场景,只需登录并在主页上等待 我做了一些优化,但我真的不理解负载测试结果的差异 例如,对于我的简单场

我继承了一个ASP.NET web应用程序(WebForms web站点),它的性能确实非常差。只要看一下代码,就会发现一本关于如何不编写.Net应用程序的百科全书(我说的是到处都是字符串连接、循环中的数据库访问、母版页中的文件I/O_load…等等)

虽然这个应用程序将要进行一次大的重写,但同时我仍然需要使它更加健壮,所以我一直在使用LoadUIWeb2进行大量的负载测试。我创建了一个非常简单的场景,只需登录并在主页上等待

我做了一些优化,但我真的不理解负载测试结果的差异

例如,对于我的简单场景和10个虚拟用户,我得到的结果类似于:

最大页面负载-12.28s 平均页面加载-4.26s 最小页面加载-0.43s

用户没有上升,我也没有得到好的曲线。我看到页面加载时间“随机”的高峰和低谷。同一页如何在0.4s和12.2s之间显示?我希望差异较小(例如始终较高或始终中等等)

我做了很多显而易见的事情,比如缓存、压缩、无调试模式、无跟踪等。我甚至尝试过预编译,但都没有效果


我在这里遗漏了什么?

差异确实取决于很多因素。你应该在一分钟内尝试一个非常缓慢的上升到10VU的过程,看看方差何时真正开始急剧增加

此外,您可能希望包括服务器指标(来自数据库服务器和文件/web服务器),以查看是否是特定资源导致了延迟

最后,检查报告“前10名”并首先优化最慢的例程(如果您有代码或服务器管理访问权限),因为即使在低负载下,这些例程通常也会协同工作,产生大量意外的差异


您也可以联系SmartBear,他们会让您接触一种技术,帮助您了解这里到底发生了什么。

差异确实取决于很多事情。你应该在一分钟内尝试一个非常缓慢的上升到10VU的过程,看看方差何时真正开始急剧增加

此外,您可能希望包括服务器指标(来自数据库服务器和文件/web服务器),以查看是否是特定资源导致了延迟

最后,检查报告“前10名”并首先优化最慢的例程(如果您有代码或服务器管理访问权限),因为即使在低负载下,这些例程通常也会协同工作,产生大量意外的差异


你也可以联系SmartBear,他们会让你接触到一项技术,帮助你了解这里到底发生了什么。

@JohnSaunders-嗯,LoadUIWeb(在问题中被问及)是SmartBear的产品:,所以这并不是真正推广他们的产品。我必须承认,我没有提到LoadUIWeb。反对意见没有了,不过我还是更喜欢更明确地提到用户与产品的关联。我不应该阅读他的个人资料来确定这段关系。如果听起来像是广告,我道歉,我非常尊重和重视成为StackOverflow社区的一员。当有人问我可以帮助回答的问题时,我会这样做。我没有意识到与产品或服务关联会使一个人的输入在默认情况下成为垃圾邮件,这有点新鲜。下次我一定会以某种方式更加明确。谢谢。@JohnSaunders-嗯,LoadUIWeb(在问题中被问及)是一个SmartBear产品:,所以这并不是在推广他们的产品。我必须承认,我没有提到LoadUIWeb。反对意见没有了,不过我还是更喜欢更明确地提到用户与产品的关联。我不应该阅读他的个人资料来确定这段关系。如果听起来像是广告,我道歉,我非常尊重和重视成为StackOverflow社区的一员。当有人问我可以帮助回答的问题时,我会这样做。我没有意识到与产品或服务关联会使一个人的输入在默认情况下成为垃圾邮件,这有点新鲜。下次我一定会以某种方式更加明确。谢谢