摘要: 線程池
并發最常見用于線程池,顯然使用線程池可以有效的提高吞吐量。
最常見、比較復雜一個場景是Web容器的線程池。Web容器使用線程池同步或者異步處理HTTP請求,同時這也可以有效的復用HTTP連接,降低資源申請的開銷。通常我們認為HTTP請求時非常昂貴的,并且也是比較耗費資源和性能的,所以線程池在這里就扮演了非常重要的角色。
在線程池的章節中非常詳細的討論了線程池的原理和使用,同時也提到了,線程池的配置和參數對性能的影響是巨大的。不盡如此,受限于資源(機器的性能、網絡的帶寬等等)、依賴的服務,客戶端的響應速度等,線程池的威力也不會一直增長。達到了線程池的瓶頸后,性能和吞吐量都會大幅度降低。
一直增加機器的性能或者增大線程的個數,并不一定能有效的提高吞吐量。高并發的情況下,機器的負載會大幅提升,這時候機器的穩定性、服務的可靠性都會下降。
盡管如此,線程池依然是提高吞吐量的一個有效措施,配合合適的參數能夠有效的充分利用資源,提高資源的利用率。
閱讀全文