【发布时间】:2010-10-12 15:27:32
【问题描述】:
我有一个性能敏感的 .net 应用程序。
它能够并行处理多达 32 个线程。我们需要进一步改进它。增加线程可能并没有真正的帮助,因为随着线程数量的增加,处理失败的次数也会增加。
我的问题是,
还有哪些可以提高性能的选项?
如果我运行同一个应用程序的两个实例,每个实例并行运行 32 个线程,会有任何可能的改进吗?考虑到每个应用程序都将在不同的 AppDomain 中运行,这只是一个疯狂的想法。
【问题讨论】:
-
是 CPU 密集型还是 I/O 密集型?你的机器有多少个 CPU/内核?
-
您的 CPU 利用率如何?你已经饱和了所有的核心吗?如果是,添加更多线程将无济于事;您必须优化代码的基本性能,或为计算机添加更多内核。
-
应用程序必须调用 WCF 服务。所花费的时间和过程的成功以及所花费的时间主要取决于服务。服务调用同步发生。
标签: .net performance