MongoDB配置與優化

啓動參數

使用下面命令可以查看服務的啓動參數
 mongod --help  或者mongod -h 
其他命令參數
 * 基本配置 
 --quiet                          # 安靜輸出 
 --port arg                       # 指定服務端口號,默認端口27017 
 --bind_ip arg                    # 綁定服務IP,若綁定127.0.0.1,則只能本機訪問,不指定默認本地所有IP 
 --logpath arg                    # 指定MongoDB日誌文件,注意是指定文件不是目錄 
 --logappend                      # 使用追加的方式寫日誌 
 --pidfilepath arg                # PID File 的完整路徑,如果沒有設置,則沒有PID文件 
 --keyFile arg                    # 集羣的私鑰的完整路徑,只對於Replica Set 架構有效 
 --unixSocketPrefix arg           # UNIX域套接字替代目錄,(默認爲 /tmp) 
 --fork                           # 以守護進程的方式運行MongoDB,創建服務器進程 
 --auth                           # 啓用驗證 
 --cpu                            # 定期顯示CPU的CPU利用率和iowait 
 --dbpath arg                     # 指定數據庫路徑 
 --diaglog arg                    # diaglog選項 0=off 1=W 2=R 3=both 7=W+some reads 
 --directoryperdb                 # 設置每個數據庫將被保存在一個單獨的目錄 
 --journal                        # 啓用日誌選項,MongoDB的數據操作將會寫入到journal文件夾的文件裏 
 --journalOptions arg             # 啓用日誌診斷選項 
 --ipv6                           # 啓用IPv6選項 
 --jsonp                          # 允許JSONP形式通過HTTP訪問(有安全影響) 
 --maxConns arg                   # 最大同時連接數 默認2000 
 --noauth                         # 不啓用驗證 
 --nohttpinterface                # 關閉http接口,默認關閉27018端口訪問 
 --noprealloc                     # 禁用數據文件預分配(往往影響性能) 
 --noscripting                    # 禁用腳本引擎 
 --notablescan                    # 不允許表掃描 
 --nounixsocket               	   # 禁用Unix套接字監聽 
 --nssize arg (=16)               # 設置信數據庫.ns文件大小(MB) 
 --objcheck                       # 在收到客戶數據,檢查的有效性, 
 --profile arg                    # 檔案參數 0=off 1=slow, 2=all 
 --quota                          # 限制每個數據庫的文件數,設置默認爲8 
 --quotaFiles arg                 #  number of files allower per db, requires --quota 
 --rest                           # 開啓簡單的rest API 
 --repair                         # 修復所有數據庫run repair on all dbs 
 --repairpath arg                 # 修復庫生成的文件的目錄,默認爲目錄名稱dbpath 
 --slowms arg (=100)              # value of slow for profile and console log 
 --smallfiles                     # 使用較小的默認文件 
 --syncdelay arg (=60)            # 數據寫入磁盤的時間秒數(0=never,不推薦) 
 --sysinfo                        # 打印一些診斷系統信息 
 --upgrade                        # 如果需要升級數據庫 
 * Replicaton 參數 
 --fastsync                      # 從一個dbpath裏啓用從庫複製服務,該dbpath的數據庫是主庫的快照,可用於快速啓用同步 
 --autoresync                    # 如果從庫與主庫同步數據差得多,自動重新同步, 
 --oplogSize arg                 # 設置oplog的大小(MB) 
 * 主/從參數 
 --master                        # 主庫模式 
 --slave                         # 從庫模式 
 --source arg                    # 從庫 端口號 
 --only arg                      # 指定單一的數據庫複製 
 --slavedelay arg                # 設置從庫同步主庫的延遲時間 
  
 * Replica set(副本集)選項: 
 --replSet arg                   # 設置副本集名稱 
 * Sharding(分片)選項 
 --configsvr                    # 聲明這是一個集羣的config服務,默認端口27019,默認目錄/data/configdb 
 --shardsvr                     # 聲明這是一個集羣的分片,默認端口27018 
 --noMoveParanoia               # 關閉偏執爲moveChunk數據保存? 
 

#上述參數都可以寫入mongod.conf配置文檔裏例如:

dbpath = /data/mongodb

logpath = /data/mongodb/mongodb.log

logappend = true

port = 27017

fork = true

auth = true

優雅停機:

kill -9 可能導致Mongodb非正常關閉,出現問題

建議使用 mongod --shutdown --dbpath ${data路徑}


1.修改系統連接數

vi /etc/rc.local 

ulimit -n 65535


2.MongoClient

Mongodb最大連接數

connections-per-host="100"

每個線程最大阻塞數,最大5個線程等待一個連接

threadsAllowedToBlockForConnectionMultiplier=5

發佈了36 篇原創文章 · 獲贊 7 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章