【发布时间】:2015-06-01 19:28:51
【问题描述】:
我们发现 MVC 5 网站的性能存在一些重大问题。当我在单个基本页面上以大约 15-20 个请求/秒的速度对我们的网站 (PAAS) 进行轻量级性能测试时,性能工具(我同时使用 JMeter 和 Visual Studio Enterprise 2015 RC)报告每个请求大约 500 毫秒的响应时间.此外,IIS 日志还报告每个请求大约 500 毫秒。请注意,在这些测试中,我只使用了 1 个 S2 实例。
但奇怪的是,Application Insights 报告说这些请求的响应时间约为 150 毫秒,所以我“丢失”了大约 350 毫秒。这些页面的响应很小,只有 10KB 左右,所以我真的不希望 350ms 用于数据传输等。
我还使用System.Diagnostics.Stopwatch 添加了自定义日志记录,以挂钩到我的请求生命周期的各个阶段。查看this 图表后,我在我的自定义ControllerFactory.CreateController 方法中启动我的秒表并在我的Controller.OnResultExecuted 方法中停止它,我认为这涵盖了完整的请求。秒表的经过时间或多或少与 Application Insights 报告的响应时间相同。我在这里错过了完全相同的 350 毫秒!
一些附加信息: - 我测试的页面是一个没有外部网络服务或数据库的简单页面 - 在整个测试过程中 CPU 使用率保持在较低水平,最高约为 30% - 该网站托管在西欧,据说是阿姆斯特丹。在本地测试时,我预计延迟非常低,因为我住在 40 英里外。 - 我在 Azure 北欧进行了测试,结果相同
我感觉有些东西被限制了,因为 CPU 很低,但响应时间很长。我不太了解 Azure,不知道是什么以及在哪里。我会很感激每一个建议。谢谢!
【问题讨论】:
-
您可能会在 DNS 查找上浪费时间 - 尝试使用 pingdom 工具,您将能够看到时间的细分 - tools.pingdom.com/fpt(请务必在设置退出
-
感谢您的回复。同时我已经修好了
标签: asp.net-mvc performance azure asp.net-mvc-5