托管平台上的ASP.NET性能测量

时间:2009-02-17 09:31:40

标签: asp.net performance hosted

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

  1. 与您的主机提供商联系,了解他们可以为您提供哪些其他信息 - 保持客户满意是符合他们的最佳利益的。我们的主机提供商能够为我们的网络工程师提供一些时间,他们为我们提供了一些不错的CPU和内存利用率统计数据。

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

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

  4. 祝你好运。