有没有指导来优化W2008R2线程性能?

我想确保我的W2008R2盒子在CPU线程上的中断和上下文切换最less。

我有4个核心/ 8个HT线程CPU。 我正在运行一个只使用套接字作为IO设备的应用程序,所以我期望成为networking的唯一硬件中断。

不过,我想尽量减less操作系统线程的中断。 我停止了大部分服务,我明白这是没有必要的。 但这只是我个人的预感。

我想要开发关于什么可以停止和什么不能的良好知识,可以调整哪些参数。

还有,我应该怎样监测,以确保我做出了正确的决定。

只是描述操作:应用程序是.NET非常低的延迟应用程序,它正在生产3年,相当稳定。 它使用很less的CPU,具有较less的GC数量,使用低RAM,使用大量的套接字通信,偶尔的磁盘IO(一些应用程序日志,如每分钟10行文本…应用程序有4个非常重要的线程运行(但是在应用程序中perfmon中当前物理线程的数量是44)。

我在应用程序之外使用的唯一服务是RDP。

  • 如何validationWindows Server 2008 R2是否安装了SP1?
  • 如何创build一个任务计划程序以在Windows Server 2008 R2中重新启动软件服务
  • 如何防止非域计算机访问域共享资源?
  • 通过命令行或PowerShell安装.NET 4?
  • Windows Server 2008,2008 SP2和2008 R2有什么区别?
  • Windowssearch服务,混合客户端 - 要select什么?
  • 2 Solutions collect form web for “有没有指导来优化W2008R2线程性能?”

    您可能需要采取更广泛的方法,并使用SysInternals Process Monitor等工具来分析系统活动。 它将为您提供在Windows系统上经常发生的相当大量的活动的细节,只有最小的感知活动。

    很多活动的一个特定来源是registry。 工具栏上有四个button,可让您按registry,文件系统,networking活动或单个进程和线程进行过滤。

    如果你确定一个产生大量“噪音”或多余活动的过程,你可以尝试把它关掉,看看是否没有破坏任何东西。

    值得一提的是,在Windows 7/2008 R2进程现在具有I / O优先级和内存优先级。 您可能想要尝试使用套索等工具来查看是否可以实现可衡量的结果。 请注意,可能无法分配更高的I / O优先级。 我相信像这样的工具通过调整其他select的后台进程的I / O优先级来工作。

    更多信息:

    进程监视器3.01
    http://technet.microsoft.com/en-us/sysinternals/bb896645

    我想要开发关于什么可以停止和什么不能的良好知识,可以调整哪些参数。

    在所有方面,这是hogwash。 除非你有一些真正的问题,否则你正在争取一个2美元左右的最大性能增益,这是不值得的。 如果这个问题是如何程序高效的线程是错误的论坛,错误的问题 – 但这将是一个值得的战斗。

    最重要的是得到一个体面的networking工作证。 服务器等级。 由于这是大多数服务器板现在所拥有的 – 除非你买便宜的工作台,否则基本上已经是最佳的了。

    应用程序有四个非常重要的线程可以运行(但是在perfmon中当前物理线程的数量为44)。

    那么,这可能是一个问题,但从操作系统调优的angular度来看,这不是一个问题 – 找出它为什么有44个线程,他们应该怎么做。 这是一个程序员的任务,正如我所说 – 可能是值得的。 但调整一个2%左右的收益是吠叫错了树。 格雷格的post是一个很好的例子 – 他谈到registry访问等 – 这很重要,如果它很重要,它只是一个“程序员搞砸了,让他修复代码”一边,而不是“如何调整窗口”。

    顺便说一句,44个线程可能大部分是hibernate状态。 东西像终结者,gc线程,工作项目池的预留线程,只是等待一个项目排队。

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.