我在托管平台上有一个大型 ASP.NET 网站。它与许多其他应用程序共享机器。我们无权访问机器本身(只有 FTP 帐户)。

我们的客户抱怨它的性能开始变得相当糟糕,尤其是在高峰时段。我运行了一些远程测量(使用类似 JMeter 的工具),结果告诉我,是的,它在高峰时段确实表现得相当糟糕。但它没有告诉我为什么。在没有确凿事实的情况下,客户拒绝迁移到专用服务器。

在我看来,我需要的是有关机器本身的硬数据。搭建本地的性能测试环境会非常耗时,而且我没有办法估计服务器的性能。

我的问题:当我对机器的访问权限有限并且肯定无法访问性能监视器时,有没有一种好方法可以收集(大量)性能测量值?任何代码都必须在 asp.net 应用程序本身中运行,而不会搞砸太多。

有帮助吗?

解决方案

我们在共享服务器上托管的 ASP.NET 应用程序也遇到了类似的问题,该应用程序在高峰时段也开始表现不佳。

尽管我不知道您的问题有什么优雅的解决方案,但这就是我们所做的:

  1. 与您的主机提供商交谈,看看他们可以为您提供哪些附加信息 - 让客户满意符合他们的最大利益。我们的主机提供商能够给我们一些时间与他们的一位网络工程师交谈,他为我们提供了一些不错的 CPU 和内存利用率统计数据。

  2. 通过将信息转储到日志文件(使用 日志4网)和/或数据库 - 例如,用户会话、搜索时间、页面点击、围绕关键功能的计时测量。根据这些信息,我们能够确定我们的系统在一定数量的自动化测试中的正常行为是什么。

  3. 设置本地服务器(不一定与托管/生产服务器相同的统计数据)并加载您的应用程序,并对其进行完整的负载/性能/容量测试(我们使用 Red Gate 的 蚂蚁分析器)。您从中收集的统计数据将为您和您的客户提供良好的指示,表明系统在已知环境的某些负载下应如何表现。是的,这可能很耗时,但它将为您提供一个出色的性能测量工具,以便您可以在本地而不是在生产中捕获/修复瓶颈。

祝你好运。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top