gpt4 book ai didi

asp.net - 分析在 azure 上运行的网站的性能的步骤

转载 作者:行者123 更新时间:2023-12-04 12:32:38 24 4
gpt4 key购买 nike

总的来说,我对运行网站还很陌生。我熟悉桌面应用程序的统计分析器,但不确定如何开始分析网站,因为存在很多其他潜在瓶颈,而且我不确定哪些分析器可用于网站。

我环顾四周,在其他问题中看到了有用的建议,但我不确定它们是一个非常完整的解决方案。主要建议是 azure 的性能计数器和来自this answer的建议。 .

总结起来就是:使用firebug分别确定渲染时间和加载时间,以便判断是渲染问题还是服务器问题。

如果是服务器端:测试一个小型静态页面,例如带有单个 gif 的页面。如果速度很慢,则说明 CPU 存在问题。否则,可能会受到 IO 限制或数据库性能出现问题。

可以使用性能计数器来检查服务器方面,例如:内存垃圾收集TCP/IP 问题发送/接收的字节数请求已请求、已排队、已拒绝请求等待时间、处理时间

从我天真的角度来看,此列表中似乎缺少一些内容,即传统桌面应用程序的分析,即堆栈看起来是什么样子的时间百分比(即我们在哪些功能上花费了时间) ,以及在什么情况下)。另一个缺失的项目是分析数据库性能,这似乎在 azure 上与在本地环境中可能有所不同,特别是如果开始处理扩展问题。另一个是请求第三方服务所花费的时间,尽管这可以通过 azure 性能计数器来完成(?)。

对于这个问题的幼稚性质,我深表歉意。我在这里缺少哪些工具和方面来分析 azure MVC asp.net 网站以及您将对上述列表进行哪些更改?

最佳答案

分析站点涉及很多方面,包括数据库调用、业务逻辑、渲染 View ,甚至客户端性能(例如,任何可能运行的 jQuery)。

StackOverflow's MiniProfiler是最容易开始的事情之一,只需安装一个 NuGet 包,添加一些 Javascript 包含内容,并将您想要测试的任何内容包装在 using() block 中,您就会看到执行时间(包括 LINQ-to-SQL 和EF)。如果您想要更细粒度的各个调用的计时,您甚至可以创建步骤。

MiniProfiler 的好处是您可以根据环境启用/禁用,这使得它适合在 Azure 中运行(而不是 Visual Studio Profiler)。

您还可以查看Azure Performance Counters ,这将使您了解系统资源,但不是 MiniProfiler 意义上的分析。不过,它可以让您了解网络延迟以及 CPU 和内存利用率。

一旦您对此感到满意,您可以使用 Chrome's Developer Tools在客户端分析您的应用程序。它会让您了解 Javascript 的运行情况,包括 CSS 选择器和渲染。

还值得注意的是,Visual Studio 有一个非常好的 Profiler在一些更高版本中,可以让您深入了解代码。方法花费的时间、调用次数等。

在这四种方法之间,您应该能够找到大多数瓶颈,尤其是对于第一次通过。

关于asp.net - 分析在 azure 上运行的网站的性能的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18922580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com