2009-02-17 32 views
1

我在托管平台上有一个大的ASP.NET网站。它与许多其他应用程序共享机器。我们无法访问机器本身(仅限FTP帐户)。托管平台上的ASP.NET性能测量

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

正如我所看到的,我需要的是关于机器本身的硬数据。设置本地性能测试环境将非常耗时,并且我无法估计服务器性能。

我的问题:有没有一种很好的方式来收集(很多)性能测量,当我有限的机器访问,并且当然不能访问性能监视器?任何代码都必须在asp.net应用程序本身中运行,而不会让它太多。

回答

1

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

虽然我不知道一个优雅的解决你的问题,这就是我们所做的:

  1. 谈谈您的主机提供商,看看有什么额外的信息,他们可以给你 - 这是他们的最佳保持客户满意的兴趣。我们的主机提供商能够给我们一些时间,他们的网络工程师为我们提供了一些体面的CPU和内存使用率统计信息。

  2. 采取由要么日志文件(使用log4net)和/或数据库的转储信息,您自己的性能测试 - 例如,用户会话,搜索时间,网页点击次数,定时左右键功能测量。根据这些信息,我们能够确定我们的系统正常行为是否适用于一定数量的自动化测试。

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

祝你好运。