1

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

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

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

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

4

1 回答 1

1

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

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

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

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

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

祝你好运。

于 2009-02-17T11:02:19.490 回答