Win32Native.Readfile等待同步,性能瓶颈?

时间:2013-01-29 10:09:05

标签: winapi synchronization profiler blocking redgate

我描述了一个应用程序。基本上每个线程从网络共享读取XML文件,反序列化对象,记录到本地文件,异步登录到db并调用Web服务。 24核计算机上的线程数约为14。

Redgate分析器向我展示了多线程应用程序在70%的时间内都在等待同步。这是一个令人担忧的信号还是预料到的?此外,如果您可以提供建议如何分析此类探查器日志,请分享您的知识。

Profiler Log

Call graph

1 个答案:

答案 0 :(得分:1)

等待同步只是意味着在等待另一个线程完成操作时挂起一个线程。您是否应该关注此问题取决于您希望该线程上的操作需要多长时间才能完成。

如果堆栈指示读/写,那么它可能只意味着磁盘很慢。也许您可以通过更改代码来最小化它;也许它只是一个片状的网络或磁盘驱动器。