天天看點

千金藥方——MongoDB疑難雜症的分析和優化

<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詳情如下:

千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化
千金藥方——MongoDB疑難雜症的分析和優化