Kernel Performance turning
# Page Cache (holds data from files and executable programs) 1% RAM
"1" > /proc/sys/vm/pagecache
# 'deadline' seems to enhance performance
"deadline" > /sys/block/sdc/queue/scheduler
nr_requests
# the size of I/O requests which are buffered before they are communicated to the disk by the Scheduler.
# (order and merge the requests)
# Read 及 Write 是分開計算的, 128 => 128R, 128W
echo 128 > /sys/block/sda/queue/nr_requests
nr_requests vs queue_depth
queue_depth: 發生在 HDD 設備上
# number of pages which are written to swap in a single attempt ( '16' as per the RAID stripe size of 64k )
echo "16" > /proc/sys/vm/page-cluster
# With GlusterFS, many users with a lot of storage and many small files easily end up using a lot of RAM
# on the server side due to 'inode/dentry' caching
# default value of vfs_cache_pressure=100, 0 => disable
vm.vfs_cache_pressure > 100
# defines the percentage of memory that can become dirty before a background flushing
# Until this percentage is reached no pages are flushed to disk.
vm.dirty_background_ratio
# defines the percentage of memory which can be occupied by dirty pages before a forced flush starts.
vm.dirty_ratio
# sets read-ahead to 4096 * 512-byte sectors
# It may put in cached data which will be requested by the next read.
# Too much read-ahead may kill random I/O on huge files
blockdev --setra 4096 /dev/<devname>