影響最佳線程數的主要因素:後端
一、IO服務器
二、CPU線程
根據公式:服務器端最佳線程數量=((線程等待時間+線程cpu時間)/線程cpu時間) * cpu數量代理
通常來講是IO和CPU。IO開銷較多的應用其CPU線程等待時間會比較長,因此線程數量能夠開的多一些,相反則線程數量要少一些,其實有兩種極端,純IO的應用,好比proxy,則線程數量能夠開到很是大(實在太大了則須要考慮線程切換的開銷),這種應用基本上後端(好比這個proxy是代理搜索的)的QPS能有多少,proxy就有多少。服務器端
另外一種是耗CPU的計算,這種狀況通常來說只能開到CPU個數的線程數量。可是並非說這種應用的QPS就不高,每每這種應用的QPS能夠很高。搜索
上面的有點難計算,簡便公式是CPU數量 *2 + 2程序
可是你要知道一臺電腦上不可能只跑你一個程序,因此別太認真了cpu