Centos
/var/lib/mongo 的預讀設置為 4096KB
我正在嘗試按照建議設置 mongo 256 或更少的預讀,我查看了文件 以獲取任何指導,我發現了這一點:
確保儲存數據庫文件的塊設備的預讀設置是適當的。對於隨機訪問使用模式,設置較低的預讀值。32 (16kb) 的預讀通常效果很好。對於標準塊設備,您可以執行
sudo blockdev --report
以獲取預讀設置並sudo blockdev --setra <value> <device>
更改預讀設置。有關詳細資訊,請參閱您的特定作業系統手冊。當我這樣做時,
sudo blockdev --report
我得到:rw 8192 512 4096 0 32212254720 /dev/sda rw 8192 512 4096 2048 31162630144 /dev/sda1 rw 8192 512 4096 60866560 1048576000 /dev/sda2 rw 8192 512 4096 0 75161927680 /dev/sdb rw 8192 512 4096 2048 75159830528 /dev/sdb1
我怎麼知道哪個是與 mongo 相關的?
它可能
/dev/sdb
已給出您列出的尺寸,但您可以通過執行df -h
. 我保留我的數據,/data
這是我的相關輸出:> df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb1 70G 18G 49G 27% / /dev/sdc1 932G 682G 250G 74% /data
就我而言,這意味著我應該為預讀而更改的是
/dev/sdc1
. 找出你保存數據的位置,然後找出對應的塊設備,然後在該設備上設置預讀。就我而言:sudo blockdev --setra 256 /dev/sdc
要在重新啟動後持續存在,您需要添加此命令或類似於 rc.local 之類的啟動腳本,或者將其放入 MongoDB 初始化腳本中以確保在啟動 MongoDB 程序之前設置它(預讀僅由啟動時的程序,因此需要重新啟動程序才能影響更改)。