是否有優化 W2008R2 執行緒性能的指導?
我想確保我的 W2008R2 機器在 CPU 執行緒上具有最少的中斷和上下文切換。
我有 4 核 / 8 HT 執行緒 CPU。我正在執行一個僅使用套接字作為 IO 設備的應用程序,因此我希望唯一的硬體中斷是網路。
但是我想盡量減少來自作業系統執行緒的中斷。我停止了大多數我理解的沒有必要的服務。但這只是我個人的預感。
我想深入了解哪些可以停止,哪些不能,哪些參數可以調整。
還有我應該監控什麼以及如何監控以確保我做出正確的決定。
僅描述操作:該應用程序是 .NET 非常低延遲的應用程序,已投入生產 3 年且相當穩定。它使用的 CPU 很少,GC 的數量很少,RAM 的使用量很低,使用大量的套接字通信,偶爾的磁碟 IO(一些應用程序日誌記錄,例如每分鐘 10 行文本……應用程序有 4 個非常重要的執行緒要執行(但應用程序中 perfmon 中的目前物理執行緒數為 44)。
我在應用程序之外使用的唯一服務是 RDP。
您可能希望採用更廣泛的方法並使用諸如 SysInternals Process Monitor 之類的工具來分析您的系統活動。它將為您提供在 Windows 系統上不斷發生的大量活動的詳細資訊,而這些活動只有很少的感知活動。
許多活動的一個特定來源是系統資料庫。工具欄上有四個按鈕,可讓您按系統資料庫、文件系統、網路活動或單個程序和執行緒進行過濾。
如果您發現某個程序正在產生大量“噪音”或多餘的活動,您可以嘗試將其關閉以查看是否不會破壞任何內容。
值得一提的是,在 Windows 7/2008 R2 中,程序現在具有 i/o 優先級和記憶體優先級。您可能想嘗試使用 Lasso 等工具,看看是否可以取得可衡量的結果。請注意,可能無法分配更高的 i/o 優先級。我相信像這樣的工具可以通過調整其他選定後台程序的 i/o 優先級來工作。
更多資訊:
程序監視器 3.01