MongoDB資料庫效能分析
設定當前資料庫日誌級別:
db.setProfilingLevel(n);
引用
n:
0 - 關閉效能分析,測試環境可以開啟,生成環境關閉,對效能有很大影響
1 - 開啟慢查詢日誌,執行時間大於100毫秒的語句
2 - 開啟所有操作日誌
獲取當前資料庫日誌分析級別:
db.getProfilingLevel();
資料庫的日誌分析資料一般存放在當前資料庫的 system.profile 集合中
檢視當前庫下所有集合的分析資料
db.system.profile.find()
檢視某一個集合的分析資料
db.system.profile.find({info:/user.info/})
檢視執行時間大於100毫秒的執行操作,並倒序排列,並取前5行
db.system.profile.find({millis:{gt:100}}).sort({ natural:-1}).limit(5);
分析執行操作的效能引數:
query: { uid: 200001.0 } nreturned:0 bytes:20", "millis" : 0 }
{ "ts" : "Tue Jun 01 2010 12:27:30 GMT+0800 (CST)", "info" : "query mosh.users ntoreturn:1000
reslen:36 nscanned:1
query: { uid: 200001.0 } nreturned:0 bytes:20", "millis" : 0 }
{ "ts" : "Tue Jun 01 2010 12:27:30 GMT+0800 (CST)", "info" : "query mosh.users ntoreturn:1000
reslen:36 nscanned:1
{ "ts" : "Tue Jun 01 2010 12:27:30 GMT+0800 (CST)", "info" : "query mosh.users ntoreturn:1000
reslen:36 nscanned:1
query: { uid: 200001.0 } nreturned:0 bytes:20", "millis" : 0 }
{ "ts" : "Tue Jun 01 2010 12:27:30 GMT+0800 (CST)", "info" : "query mosh.users ntoreturn:1000
reslen:36 nscanned:1
引數介紹:
引用
ts:操作執行時的時間戳
millis:執行操作所花的時間
info:
query:資料庫查詢操作,查詢欄位資訊包括ntoreturn,query,nscanned,reslen,nreturned
ntoreturn:從查詢中返回客戶端指定的物件數
query:查詢操作資訊
nscanned:在執行查詢操作的時候掃描了多少物件
reslen:查詢結果的大小
nreturned:從查詢中返回的結果物件
update:資料庫更新操作,
insert:資料庫插入操作
getmore:大資料量查詢
查詢最佳化:
1、如果nscanned 比 nreturned 大很多時,說明資料庫掃描了很大物件才找到目標物件,因此需要為條件查
詢建立索引
2、當返回的結果集很大時即reslen值相當大時,會影響效能下降,在做find查詢時,需要新增第二個查詢引數
,只獲取需要顯示的欄位
更新最佳化:
1、檢查nscanned欄位,如果欄位非常大,資料庫需要掃描大量的物件才能查詢到並更新,如果更新頻率比較
大的話,建議建立索引
2、儘可能的使用快速的修改操作
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-1952662/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MongoDB資料庫MongoDB資料庫
- MongoDB索引,效能分析MongoDB索引
- MongoDB 資料庫操作MongoDB資料庫
- mongodb資料庫操作MongoDB資料庫
- mysql 資料庫效能分析工具簡介MySql資料庫
- LightDB資料庫效能瓶頸分析(一)資料庫
- mongodb資料庫中插入資料MongoDB資料庫
- python操作mongodb資料庫PythonMongoDB資料庫
- 資料庫_SQL-MongoDB資料庫SQLMongoDB
- MongoDB資料庫簡介MongoDB資料庫
- MongoDB資料庫入門MongoDB資料庫
- mongodb 如何建立資料庫MongoDB資料庫
- 學習MongoDB資料庫MongoDB資料庫
- mongoDB資料庫之聚合MongoDB資料庫
- MongoDB資料庫備份MongoDB資料庫
- MongoDB資料庫安裝MongoDB資料庫
- 初試MongoDB資料庫MongoDB資料庫
- 快速掌握 MongoDB 資料庫MongoDB資料庫
- Mongodb資料庫連線MongoDB資料庫
- 資料庫效能需求分析及評估模型資料庫模型
- MongoDB資料庫效能監控看這一篇就夠了MongoDB資料庫
- SpringBoot整合Mongodb文件資料庫Spring BootMongoDB資料庫
- mongodb資料庫如何建立索引?MongoDB資料庫索引
- Python操作MongoDB文件資料庫PythonMongoDB資料庫
- Python 資料庫騷操作 -- MongoDBPython資料庫MongoDB
- Python資料庫MongoDB騷操作Python資料庫MongoDB
- MongoDB資料庫中查詢資料(下)MongoDB資料庫
- MongoDB 資料庫管理和開發:Navicat for MongoDB macMongoDB資料庫Mac
- 如何“玩轉”MongoDB?羅輯思維資料庫效能最佳化之路!MongoDB資料庫
- mongodb資料庫備份與恢復(資料庫資料遷移)MongoDB資料庫
- 效能測試之資料庫監控分析工具PMM資料庫
- 使用python進行Oracle資料庫效能趨勢分析PythonOracle資料庫
- 在MongoDB資料庫中查詢資料(上)MongoDB資料庫
- MongoDB資料庫中更新與刪除資料MongoDB資料庫
- mongodb資料庫使用03、python和mongodb的互動MongoDB資料庫Python
- 前端輕量級資料庫mongodb前端資料庫MongoDB
- 怎樣開啟mongodb資料庫MongoDB資料庫
- mongodb關閉資料庫例項MongoDB資料庫
- MongoDB資料庫的基本操作梳理MongoDB資料庫