1

我继承了一个性能非常糟糕的 ASP.NET Web 应用程序(WebForms 网站)。简单地看一下代码,就会发现一本关于如何不编写 .Net 应用程序的百科全书(我说的是到处都是字符串连接、循环内的数据库访问、母版页加载中的文件 I/O 等)。

尽管此应用程序将进行重大改写,但同时我仍需要使其更加健壮,因此我一直在使用 LoadUIWeb 2 进行大量负载测试。我创建了一个非常简单的场景,只需登录并在主页上等待。

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

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

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

用户没有增加,我没有得到很好的曲线。我看到页面加载时间是“随机”的高峰和低谷。同一个页面怎么能在 0.4s 和 12.2s 之间?我希望减少差异(例如总是高或总是中等等)。

我已经完成了大部分显而易见的事情,例如缓存、压缩、无调试模式、无跟踪等。我什至尝试过预编译都无济于事。

我在这里想念什么?

4

1 回答 1

1

差异实际上取决于很多事情。您应该在一分钟内尝试缓慢上升到 10VU,以查看差异何时真正开始显着增加。

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

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

您还可以联系 SmartBear售前支持,他们会让您联系技术人员,帮助您了解这里的实际情况。

于 2014-01-14T19:16:54.413 回答