Mejorar acceso a disco y aumentar rendimiento Linux – Parte 2

con No hay comentarios

Proseguimos con la guia de mejora de rendimiento para sistemas operativos Linux. Es imprescindible haber realizado la Parte 1 o al menos, tener particiones ext4.

 

Parte 2 – Reducir iops inncesarios utilizando atributos de ext4

 

Se me presento un problema de rendimiento sobre una cabina de almacenamiento ya que en determinados momentos no era capaz de absorber tantos iops y las planta de servidores virtuales tenian picos de latencia y waiting io elevado. Veamos un método para reducir significamente el número de iops por sistema operativo.

 

Como ya tenemos todas nuestras particiones en ext4, podemos utilizar varios atributos que dependiendo del caso, pero generalmente no son extrictamente necesarios y podemos prescindir de ellos. Antes de realizar ninguna modificación, conviene entender cada uno:

 

noatime: Por cada acceso a cualquier fichero o directorio, se tiene que modificar el atributo del último acceso(OJO! Que no última modificación), por lo que imaginaros la cantidad de iops que se reducen solo con esta opción. Se calcula que sobre un 30% de mayor rendimiento.

nodiratime: Similar a noatime, pero para directorios.

+info al respecto

barrier=0: Es una protección de cache de escritura que se utiliza para sistemas que no tienen batería, pero si utilizas una controladora raid con batería, desactivando esta opción podemos ganar un 10-15% de rendimiento adicional en escritura.

Redhat Enabling / Disabling Write barriers

relatime Para un correcto funcionamiento debemos de utilizar esta opción para /tmp

Estas opciones hay que añadirlas a las propiedades de la partición en /etc/fstab. Veámos un ejemplo:

/dev/mapper/VolGroup-lv_root        /           ext4        defaults,noatime,nodiratime,barrier=0 1 1
/dev/sda1                           /boot       ext3        defaults 1 2
/dev/mapper/VolGroup-lv_home        /home       ext4        defaults,noatime,nodiratime,barrier=0 1 2
/dev/sda2                           /tmp        ext4        defaults,noexec,relatime,barrier=0 1 2
/dev/mapper/VolGroup-lv_var         /var        ext4        defaults,usrquota,noatime,nodiratime,barrier=0 1 2
/dev/sda3                            swap        swap        defaults 0 0

tmpfs                                /dev/shm    tmpfs        defaults,noexec 0 0
devpts                               /dev/pts    devpts       gid=5,mode=620 0 0
sysfs                                /sys        sysfs        defaults 0 0
proc                                 /proc       proc         defaults 0 0

#Ramdisk para mysql-server
#tmpfs                               /ramdisk    tmpfs        rw,mode=1777,size=128M 0 0
#Este ramdisk es para mejorar mysql. Subiré un post más adelante de como optimizarlo.

Siguiendo estos pasos he podido apreciar que servidores los cuales estaban utilizando una media de iops en escritura de unos 140-170 pasarón a usar 50-80. Si sumamos toda la planta de servidores son unos cuantos cientos de iops que reducimos, teniendo en cuenta que cada disco sas da entre 30-40 iops…

 Parte 1   Parte 3

atras back last page   next siguiente proxima pagina

Dejar un comentario