首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分析受IO限制的C#应用程序

分析受IO限制的C#应用程序
EN

Stack Overflow用户
提问于 2011-06-19 18:36:40
回答 2查看 1.9K关注 0票数 3

如何评测执行大量IO的C#应用程序

我尝试过ANTS和JetBrains,但它们似乎不能很好地处理IO密集型应用程序,而是报告CPU密集型任务

EN

回答 2

Stack Overflow用户

发布于 2011-06-19 23:40:43

Visual Studio2010中的并发可视化工具可以帮助识别重要的IO瓶颈区域。

“线程视图”显示应用程序中所有线程的时间线,用颜色表示不同类型的活动。当线程阻塞IO (例如文件、网络等)时,它将显示为紫色。如果您单击这些段中的一个,您将看到线程阻塞IO的调用堆栈。在下图中,选择了一个同步段(红色),堆栈显示在“当前堆栈”面板中。

还有代表每个磁盘的通道,它们将显示读/写,单击其中一个段将显示该段所代表的文件操作。

例如,

在时间线下面是一些报告,您可以通过单击“可见时间线配置文件”中的项目来访问这些报告。它们将向您显示可见时间线内各种活动的聚合堆栈,因此您可以看到IO上的大部分阻塞发生的堆栈。同样,“文件操作”报告将在可见的时间线中显示读取/写入。

“文件操作”报告如下所示:

有关更多信息,请查看team blogMSDN或Hazim Shafi的blogMSDN magazine article

票数 3
EN

Stack Overflow用户

发布于 2011-06-19 20:48:55

我发现区分两个目标很有用--只是测量,而不是实际定位代码中的瓶颈。

对于后者,我发现this technique是最有效的。

我的大部分工作都是在一个大型C#应用程序中进行的,当人们工作时,性能问题总是悄悄出现--有时是I/O限制,有时不是。无论如何,该方法都会立即找到它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6401874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档