2011-11-22 67 views
0

我有一臺帶有超線程的24gb RAM,四核心Xeon的服務器。我需要在我的服務器應用程序中創建一個線程池。線程池的最大線程的指導原則是什麼?基於系統規格的線程處理

謝謝

回答

0

我通常會去2倍數量的CPU核心。在所有線程都忙的情況下,這幾乎不會給任何性能影響,但可以確保如果某些線程執行I/O,則CPU有其他工作要做並不閒置。

0

唯一可能的答案是:添加線程直到資源耗盡。找到一些工具來監視系統資源,並通過實驗來做到這一點:在監視器上留意的同時,爲應用程序添加更多線程。

  • 如果工作大多是CPU密集型,你可能會使用n_cores + 1線程。

  • 如果它帶有延遲的IO(比如抓取一個網站),你會添加更多的線程。

  • 如果它使用大量內存,您將添加線程,直到您使用所有24gb ram。