如何在应用中找到性能瓶颈?

时间:2015-10-12 07:26:14

标签: c# .net oracle iis

问题有点笼统,但我会尽力正确地问它。

所以我开始支持由部分组成的系统:

  • 客户端应用程序(.net / c#)
  • WebService服务器(IIS 6)
  • DB(Oracle 10g)

在客户端应用程序中,用户正在发出报告请求,这些请求由Web服务进行,数据来自数据库。 其中一些报告非常缓慢。从1张桌子开始约10万行约1小时。

所以我想知道,系统的哪个部分正在减慢整个系统的速度。 找到这个最常见的实践是什么?我知道这个问题非常复杂和普遍,推荐特定的工具是不可能的。但是什么是常见的策略?什么是通常的方法来确定系统是否在数据库,Web服务或客户端减慢?

2 个答案:

答案 0 :(得分:2)

您可以使用个人资料。您可以找到"热点"基于分析方法(例如CPU采样,仪表......等)。对于C#客户端,我使用visual studio profiler,Jabraines DotTrace和ANT Memory分析器。此外,您还可以使用Windows性能监视器。我使用SQL profiler和RedGate Profiler进行数据库分析。但是有更多的分析器可以通过互联网获得。只需要对Google进行研究并选择合适的分析器。

答案 1 :(得分:0)

您可能已在“where”中回答了自己的问题,即查看运行报告时调用的查询。至于“如何”,可以查看可用于分析应用程序和数据库的工具/分析器。