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有关的?
> 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只读取一次启动时的过程因此需要重新启动流程以影响更改.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。