Linux kernel settings

IO scheduler

For optimal IO performance running a database we are using the noop scheduler. Recommended schedulers are noop and deadline. You can check your scheduler setting with:

cat /sys/block/${DEVICE}/queue/scheduler

For instance, it should look like this output:

cat /sys/block/sda/queue/scheduler
[noop] deadline cfq

You can find detailed notes about Linux schedulers here: Linux schedulers in TPCC like benchmark.

Open file limits

The open file limits is not a performance relevant setting, but running a benchmark with a lot of concurrent users can hit the open file limit quite easy.

On most Linux systems the open file limit is at 1024, which may not be enough. Set your open file limit higher by editing

$EDITOR /etc/security/limits.conf

and adding a line like

#ftp             hard    nproc           0
#@student        -       maxlogins       4
*                -       nofile          16384

# End of file

Your ""ulimit -a"" output should look like this afterwards:

ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15975
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) 1744200
open files                      (-n) 16384


See configuring swappiness.


Comments loading...