Linux : booster les accès en lecture à vos disques
Tous les systèmes d’exploitation disposent de mise en cache des blocs lors des accès aux disques afin d’anticiper et d’accélérer les lectures à venir, en privilégiant la lecture des données mises en cache. Sous Linux, la quantité de données lues à chaque accès et mises en cache est de 256 blocks x 512 octets :
blockdev --getra /dev/sda
Vous pouvez modifier ce paramètre avec la commande blockdev de manière à accélérer les accès en lecture à vos systèmes de fichiers :
blockdev --setra 4096 /dev/sda
Si la consommation mémoire risque d’augmenter à la marge, la charge CPU moyenne risque, elle, de diminuer légèrement. Et, si vous disposez de mémoire, n’hésitez pas à pousser ce paramètre. Je pense notamment à un système Linux exécutant une base de données PostgreSQL, qui sollicite les io.
Le souci de cette commande est qu’elle est dynamique. La modification d’un nouveau paramétrage disparaît au reboot ! Pour fixer le paramètre, ajoutez la commande à votre fichier /etc/rc.local, exécutée à chaque lancement de votre système :
#Pour Fedora, CentOS, Red Hat, même si /sbin est un alias de /usr/sbin /usr/sbin/blockdev --setra 4096 /dev/sda #Pour Ubuntu Server, Debian /sbin/blockdev --setra 4096 /dev/sda