<b>driver </b><b>使</b><b>用問題</b>
<b>慎用local</b><b>、admin</b><b>:</b>
• local:存儲節點自身配置資訊,資料不會被同步,重要的資料不要存儲在 local 資料庫,避免資料丢失
• admin:存儲⽤使用者、⻆⾊等管理資訊,寫⼊時會加 db 級别互斥寫鎖,業務資料不要存儲在
admin 資料庫,影響性能
<b>合理</b><b>配置連接配接數:</b>
thread per connection 網絡服務模型,每個線程需要1mb 的棧空間,⼤量連接配接時,線程切換開銷大;限制連接配接數資源; mongod
配置 net.maxincomingconnections 參數,driver通過 connection
string uri 的 maxpoolsize 參數來配置連接配接池⼤大⼩小
<b>避免使</b><b>用短連接配接:</b>
短連接配接增加額外的 connect、auth、close、線程建立及銷毀開銷, mongodb 鑒權性能問題,優化後性能提示10+倍
<b>幹掉長(</b><b>慢)</b><b>請求</b>
•
用戶端發起耗時請求,如周遊集合、建索引、mapreduce、aggregation 等,主動斷開連接配接後,後端的請求仍然在執行
• currentop + killop 中止後端正在運作的請求
<b>管理</b><b> oplog</b>
支援線上動态修改 oplog 大小
• db.runcommand({collmod: “oplog.rs”, maxsize: 1024000000})
支援複制內建員根據同步進度自适應管理 oplog
支援設定⼀一個 oplog
保護時間戳,所有超過該時間戳的 oplog都會自動保留,支援全量、增量備份
<b>避免</b><b>無 id </b><b>索引的集合,盡量</b><b>背景建索引shard key </b><b>選擇</b>
shared cluster問題
分片方式:範圍分片,hash分片
shared key 選擇
ppt詳情如下:
