Este artículo lo publique el 02-Dic-2003 en la página de ecualug.org
La situación es bien simple: con la configuración por defecto que vienen los linux, cada vez que se accede a cualquier archivo del sistema linux actualizá el inodo de este archivo con la hora actual, marcando así lo que se llama access time: la última vez que se accedió.
¿Qué tal con un servidor que tenga apache y sendmail entre otros binarios, que son llamados constantemente? ¿O que tenga cientos o miles de buzones de usuarios que son leídos constantemente?: Pues bueno, linux se tomará la molestia de actualizar el accestime (atime) del inodo que referencia al buzón de los usuarios con el tiempo de acceso, generando una escritura más.
Con un servidor ligeramente usado (dígase una carga de procesador mayor a 0.7) ya se puede notar una ventaja, si montamos las particiones de éste con la opción de atime desactivada.
Probemos primero, esta prueba no debe ser destructiva, al momento no me ha fallado nunca: solamente remontemos una partición, digamos /var con la opción noatime para desactivar los tiempos de acceso:
mount (para ver cómo tenemos montada la partición y si existe esta. De no existir usen otra de prueba.)
w (para ver la carga del procesador anotar la carga)
y ahora procedamos a remontar con noatime:
mount -o remount,noatime /var
remontamos con la opción noatime a /var
esperemos un rato, y si nuestro servidor tenía una carga apreciable, veremos que ésta ha disminuido un poco.
w (comparemos la carga con el comando w anterior)
En servidores ligeramente cargados ésta opción no tiene sentido, ya que no se notará la diferencia.
Debo aclarar que esta opción de todas formas, no nos daña en lo absoluto el normal funcionamiento de nuestros servidores.
La podemos poner en todas las particiones que tengamos formato ext2 y ext3 (la he probado con Unix Tru64 e igual funciona de bien). No la pongan en swap, swap para comenzar no tiene inodos !!! Igual no debe aceptar que la pongas en swap.
Para levantarla cada vez que querramos, sencillamente agregamos la opción noatime al lado de la palabra default en /etc/fstab, aquí va una línea de ejemplo del fstab:
[root@ecualinux hosting]# cat /etc/fstab
LABEL=/ / ext3 defaults 1 1
La idea es poner en cada partición (ext2, ext3) la palabra noatime además:
LABEL=/ / ext3 defaults,noatime 1 1
Así cada vez que levante el sistema, tendremos esta opción habilitada. Repito, no afecta para nada el poner esta opción en cada partición ext2/3 que tengamos.
¿Qué logramos con esto? Disminuir los accesos de escritura (por demás lentos) al disco duro y ayudar a aumentar el performance del sistema.