mongodb的線程池設定不起作用
迷茫
迷茫 2017-04-24 09:12:41
0
1
641

最近遇到線程池的問題,預設mongodb為每個連接(即new 出的一個連接對象)分配了一個線程池,裡面最多有10個線程,網上說可以透過MongoOpection的connectionPerHost參數來調整線程池的大小,但是實際上無論我怎麼修改這個參數的值線程池的大小都是10,請問這個是為什麼,有什麼地方也要修改?

另外,對於一個網頁的應用,是客戶端每次點擊介面產生一個連接(new一個連接的物件)的設計好,還是在程式開始的時候new一個連接,然後分配給它較大的線程池,每次客戶連線就從線程池裡面取一個的方式好? 個人感覺第一種在高並發的情況下對系統的負載較高。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(1)
Ty80

自己找到原因了:
1 預設執行緒數是10是因為用的JAVA驅動版本太老了。版本為2.2,最新的版本為2.12,已經將預設一個連接的執行緒池設定為100了
2 官方文件上給出的建議是開一個連接,然後從線程池取連接
3 在2.12版本中MongoOpection類別被廢止了,但是是可以用的,設定connectionPerHost參數雖然可以表面上修改連接參數中線程池中的線程數量,但是實際上系統後台中線程池的上限還是100,參數沒有生效(懷疑是不是有別的設定方法),但是個人覺得也不太重要了,如果線程池能一致佔用在100以上,估計系統設計的也是有問題的

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板