Jemeter 壓測過程,發現mongodb的CPU均達到100%,需要查看mongodb的執行情況,使用mongo自帶的profiling功能。
profiling將請求的執行情況記錄在DB下的 system.profile
集合里,profiling 有3種模式:
在mongodb的客戶端執行:
>db.getProfilingLevel()
根據返回值
0 代表不開啟
1 代表記錄慢指令(默認100ms)
2 代表記錄所有指令
更改此值,使其生效。
db.setProfilingLevel(1)
Profile默認是記錄超過100ms的請求,也可以通過添加-slowms啟動參數配置或調用db.setProfilingLevel時加上第二個參數控制。
db.setProfilingLevel(level,slowms);
>db.setProfilingLevel(1,100);
接下來就是查看最新的profile記錄:
>db.system.profiling.find().sort({$natural:-1}).limit(30)