C# 性能和监视.NET应用程序

C# 性能和监视.NET应用程序,c#,asp.net,sql-server,web-services,biztalk,C#,Asp.net,Sql Server,Web Services,Biztalk,我们已经构建了一个Web应用程序,即使有大量可用资源,它的性能也非常糟糕。我的老板不相信我的应用程序消耗了大量的硬件IO,所以我必须证明硬件是好的,但是web应用程序真的很糟糕 该应用程序正在使用: 带SP4的SQL Server 2000 主web应用程序(.NET 3.5) 两个Web服务(.NET 1.1) Biztalk 2004 有30人在使用此应用程序 我怎样才能证明我是对的?一个可以开始的地方是使用性能分析器,如红门蚂蚁分析器。我使用过这个工具,它非常有用,可以消除性能瓶颈 Ran

我们已经构建了一个Web应用程序,即使有大量可用资源,它的性能也非常糟糕。我的老板不相信我的应用程序消耗了大量的硬件IO,所以我必须证明硬件是好的,但是web应用程序真的很糟糕

该应用程序正在使用:

  • 带SP4的SQL Server 2000
  • 主web应用程序(.NET 3.5)
  • 两个Web服务(.NET 1.1)
  • Biztalk 2004
  • 有30人在使用此应用程序


    我怎样才能证明我是对的?

    一个可以开始的地方是使用性能分析器,如红门蚂蚁分析器。我使用过这个工具,它非常有用,可以消除性能瓶颈


    Randy

    您可以连接像或这样的探查器,查看应用程序的性能瓶颈在哪里。

    您可以从使用SQL Server探查器开始,了解正在发生的数据库通信量

    我并不是说数据库交互是瓶颈,但它通常是瓶颈,如果您使用的是SQL Server,那么该工具已经存在了,因此在您外出购买大量分析工具之前,最好先看看它


    Visual Studio 2008还具有内置的性能分析工具。

    Windows性能计数器是获取有关一般系统性能的一些基本信息的好方法。适当的计数器将显示是否真的是IO在做很多事情。如果您从计数器中取出数字并将其与规格进行比较,您应该能够判断系统是否达到最大值


    如果系统达到最大值,这是web应用程序的问题,应该对其进行分析,以确定从何处开始优化。

    您可以使用windows中内置的系统性能监视器,因为至少有XP。你几乎可以得到你可能需要的任何信息。这包括CPU时间、.NET内存使用率(包括gen0 gen1和gen2)、本机内存使用率、垃圾收集所花费的时间、磁盘访问时间等。如果您只是搜索codeproject或web,则有许多使用这些计数器测试您想要的任何内容的示例

    这样做的好处之一是您不必更改代码,并且可以与现有系统一起使用


    我发现这是一个最好的起点,可以让你找到瓶颈和问题所在。

    是什么让你认为你的应用程序消耗了大量硬件IO?为什么速度慢?内存不足?高CPU?还是高磁盘I/O?当人们使用web应用程序时,例如单击按钮或向db发出请求时,您对“慢”?@Ram的定义是什么。Web as DB服务器都运行在高cpu上,并消耗大量内存。