最近在作mongo數據庫集羣,用到生產環境上後發現用不了多久客戶端就拒絕訪問。查詢進程發現路由mongos並無宕,能ping通,因而查看最大鏈接數,發現已滿。mongodb
科普:在Linux平臺下,不管是64位或者32位的MongoDB默認最大鏈接數都是819,WIN平臺不知道,估計也沒有人在 WIN平臺下使用MongoDB作生產環境。數據庫
因而,修改最大鏈接數。ide
1.查詢最大鏈接數:spa
db.serverStats().connectionsserver
2.修改最大鏈接數:進程
關閉數據庫,重啓加上參數maxConns:mongodb --port 27017 --dbpath data/ --maxConn 300 路由
3.重啓查看最大鏈接數:it
db.serverStats().connectionsio
發現仍是819,並無改變,這是咋回事?通過一番研究,才發現,這是系統的限制,Linux默認進程能打開最大文件數是有限制的,能夠經過ulimit 解決。class
4.設置系統
Linux下切換到超級用戶,ulimit -n 4000,也可在配置文件修改,/etc/rc.local里加入ulimit -n 4000
5.重啓mongodb,查看最大鏈接數已變成了3000