我有一个运行 Windows 2003 和 1gb 以太网的四处理器 vmware 实例。我正在比较从本地硬盘驱动器提供完全相同的重 .NET 2.0 内容与从 UNC 驱动器提供它。
如果我使用 WCAT 来加载它,我发现从 UNC 提供服务时事务/秒减少了大约 40%。处理器时间几乎没有从 45% 移动,而 NIC 则保持在 40% 左右。无论哪种方式,我都没有看到任何显着的内存加载。但是,从 UNC 提供服务时,上下文切换/事务增加了一倍以上。路径长度也增加了一倍以上,但我相信这只是上下文切换效果的一种表达。
总而言之,瓶颈似乎是在等待来自 UNC 共享的内容时切换处理器。我的经验是规范吗?我可以尝试一些缓解措施吗?
我根据http://technet.microsoft.com/en-us/library/dd296694(WS.10).aspx稍微玩弄了 HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\MaxCmds ,但没有明显的效果。我有点怀疑我的问题是缺少连接,而只是在等待数据时从线程切换到线程的行为。