我试图找出最好的方法对我来说是找出我的应用程序的哪些部分花费了最长的时间(最大的运行成本)。该应用程序并不太复杂,但是我想确保已对所有部分进行了适当的调整,以便可以处理更大的负载。

应用程序:加载/分解xml文档并将其内容转储到DB中。该应用程序使用Linq to XML来解析xml,并使用SQL Server TVP将数据向下传递到DB。因为我使用的是TVP,所以即使有数据收集,数据也不大(XML文件最大为1MB),因此可以一次往返DB。

任何有关如何隔离瓶颈的建议将不胜感激。

一如既往地非常感谢您的反馈。

最佳答案

您可能要签出StopWatch类。您可以像这样将其撒入代码中:

// load XML Method
var stopWatch = new Stopwatch();
stopWatch.Start();
// run XML parsing code
stopWatch.Stop();

var xmlTime = stopWatch.Elapsed;


// SQL Server dump Method
var stopWatch = new Stopwatch();
stopWatch.Start();
// dump to SQL Server
stopWatch.Stop();

var sqlTime = stopWatch.Elapsed;


这是进行一般测量的低技术方法。对于简单的应用程序,这可能比分析器更有效,因为您的应用程序只有两个实际瓶颈点。也就是说,学习如何使用探查器可能是值得的。

关于c# - 有什么好的方法可以找到应用程序中的瓶颈吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8419425/

10-10 18:19
查看更多