我正在尝试按照建议设置mongo 256或更低的readahead,我查看了
documentation的任何指导,我发现了这个:
Ensure that readahead settings for the block devices that store the
database files are appropriate. For random access use patterns,set
low readahead values. A readahead of 32 (16kb) often works well.
For a standard block device,you can runsudo blockdev --report
to get the readahead settings andsudo blockdev --setra <value> <device>
to change the readahead settings. Refer to your specific operating
system manual for more information.
当我做一个sudo blockdev – 报告我得到:
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中,这是我的相关输出:
原文链接:https://www.f2er.com/centos/373809.html> df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb1 70G 18G 49G 27% / /dev/sdc1 932G 682G 250G 74% /data
在我的情况下,这意味着我应该改变readahead的那个是/ dev / sdc1.找出保存数据的位置,然后找出与之对应的块设备,然后在该设备上设置预读.就我而言:
sudo blockdev --setra 256 /dev/sdc
要继续重新启动,您需要将此命令或类似命令添加到启动脚本(例如rc.local),或者将其放入MongoDB init脚本中以确保在MongoDB进程启动之前设置它(readahead只读取一次启动时的过程因此需要重新启动流程以影响更改.