Página principal » cómo » Cómo modificar su SSD en Ubuntu para un mejor rendimiento

    Cómo modificar su SSD en Ubuntu para un mejor rendimiento

    Hay muchos consejos para ajustar su SSD en Linux y muchos informes anecdóticos sobre qué funciona y qué no. Ejecutamos nuestros propios puntos de referencia con algunos ajustes específicos para mostrarle la diferencia real..

    Puntos de referencia

    Para comparar nuestro disco, utilizamos Phoronix Test Suite. Es gratis y tiene un repositorio para Ubuntu para que no tenga que compilar desde cero para ejecutar pruebas rápidas. Probamos nuestro sistema justo después de una nueva instalación de Ubuntu Natty de 64 bits usando los parámetros predeterminados para el sistema de archivos ext4.

    Nuestras especificaciones del sistema fueron las siguientes:

    • AMD Phenom II de cuatro núcleos a 3,2 GHz
    • Placa base MSI 760GM E51
    • 3.5 GB de RAM
    • AMD Radeon 3000 integrado con 512 MB de RAM
    • Ubuntu Natty

    Y, por supuesto, el SSD que solíamos probar era una unidad OCZ Onyx de 64GB ($ 117 en Amazon.com al momento de escribir).

    Retoques prominentes

    Hay bastantes cambios que las personas recomiendan al actualizar a un SSD. Después de filtrar algunas de las cosas más antiguas, hicimos una breve lista de modificaciones que las distribuciones de Linux no han incluido como predeterminadas para los SSD. Tres de ellas implican editar su archivo fstab, así que haga una copia de seguridad antes de continuar con el siguiente comando:

    sudo cp / etc / fstab /etc/fstab.bak

    Si algo sale mal, siempre puede eliminar el nuevo archivo fstab y reemplazarlo con una copia de su copia de seguridad. Si no sabe qué es eso o quiere repasar cómo funciona, eche un vistazo a las explicaciones de HTG: ¿Qué es el fstab de Linux y cómo funciona??

    Evitando los tiempos de acceso

    Puede ayudar a aumentar la vida útil de su SSD al reducir la cantidad de escritura del sistema operativo en el disco. Si necesita saber cuándo se accedió por última vez a cada archivo o directorio, puede agregar estas dos opciones a su archivo / etc / fstab:

    noatime, nodiratime

    Agréguelas junto con las otras opciones y asegúrese de que estén todas separadas por comas y sin espacios..

    Habilitando TRIM

    Puede habilitar TRIM para ayudar a administrar el rendimiento del disco a largo plazo. Agregue la siguiente opción a su archivo fstab:

    descarte

    Esto funciona bien para sistemas de archivos ext4, incluso en discos duros estándar. Debe tener una versión de kernel de al menos 2.6.33 o posterior; está cubierto si está usando Maverick o Natty, o tiene los puertos traseros habilitados en Lucid. Si bien esto no mejora específicamente la evaluación comparativa inicial, debería hacer que el sistema funcione mejor a largo plazo, por lo que hizo nuestra lista.

    Tmpfs

    El caché del sistema se almacena en / tmp. Podemos decirle a fstab que monte esto en la RAM como un sistema de archivos temporal para que su sistema toque menos el disco duro. Agregue la siguiente línea al final de su archivo / etc / fstab en una nueva línea:

    tmpfs / tmp valores predeterminados de tmpfs, noatime, modo = 1777 0 0

    Guarda tu archivo fstab para confirmar estos cambios.

    Cambiando los programadores de IO

    Su sistema no escribe todos los cambios en el disco inmediatamente, y las solicitudes múltiples se ponen en cola. El programador de entrada / salida predeterminado - cfq - maneja esto bien, pero podemos cambiarlo a uno que funcione mejor para nuestro hardware.

    Primero, enumere las opciones que tiene disponibles con el siguiente comando, reemplazando "X" con la letra de su unidad raíz:

    cat / sys / block / sdX / queue / scheduler

    Mi instalación está en sda. Deberías ver algunas opciones diferentes.

    Si tiene una fecha límite, debe usar eso, ya que le da un ajuste adicional más adelante. Si no es así, debería poder usar el noop sin problemas. Necesitamos decirle al sistema operativo que use estas opciones después de cada inicio, así que tendremos que editar el archivo rc.local.

    Usaremos nano, ya que estamos cómodos con la línea de comandos, pero puede usar cualquier otro editor de texto que desee (gedit, vim, etc.).

    sudo nano /etc/rc.local

    Sobre la línea de "salida 0", agregue estas dos líneas si está utilizando la fecha límite:

    fecha límite de eco> / sys / block / sdX / queue / scheduler

    echo 1> / sys / block / sdX / queue / iosched / fifo_batch

    Si está utilizando Noop, agregue esta línea:

    echo noop> / sys / block / sdX / queue / scheduler

    Una vez más, reemplace "X" con la letra de unidad adecuada para su instalación. Revise todo para asegurarse de que se vea bien..

    Luego, presione CTRL + O para guardar, luego presione CTRL + X para salir.

    Reiniciar

    Para que todos estos cambios entren en vigor, debe reiniciar. Después de eso, deberías estar todo listo. Si algo sale mal y no puede iniciar, puede deshacer sistemáticamente cada uno de los pasos anteriores hasta que pueda volver a iniciar. Incluso puedes usar un LiveCD o LiveUSB para recuperarte si quieres.

    Sus cambios de fstab durarán toda la vida de su instalación, incluso resistirán las actualizaciones, pero su cambio de rc.local tendrá que volver a establecerse después de cada actualización (entre versiones).

    Resultados de Benchmarking

    Para realizar los puntos de referencia, ejecutamos el conjunto de pruebas de disco. La imagen superior de cada prueba es antes de ajustar la configuración ext4, y la imagen inferior está después de los ajustes y un reinicio. Verá una breve explicación de lo que mide la prueba, así como una interpretación de los resultados..

    Operaciones de archivos grandes

    Esta prueba comprime un archivo de 2 GB con datos aleatorios y lo escribe en el disco. Los ajustes de SSD aquí muestran una mejora de aproximadamente el 40%..

    IOzone simula el rendimiento del sistema de archivos, en este caso, escribiendo un archivo de 8GB. De nuevo, un aumento de casi el 50%..

    Aquí, se lee un archivo de 8GB. Los resultados son casi los mismos que sin ajustar ext4..

    AIO-Stress prueba de forma asíncrona la entrada y la salida, utilizando un archivo de prueba de 2 GB y un tamaño de registro de 64 KB. Aquí, hay casi un 200% de aumento en el rendimiento en comparación con vainilla ext4!

    Operaciones de archivo pequeño

    Se crea una base de datos SQLite y PTS le agrega 12,500 registros. Los ajustes de SSD aquí en realidad ralentizaron el rendimiento en aproximadamente un 10%.

    Apache Benchmark prueba lecturas aleatorias de archivos pequeños. Hubo un aumento de rendimiento de aproximadamente el 25% después de optimizar nuestro SSD..

    PostMark simula 25,000 transacciones de archivos, 500 simultáneamente en un momento dado, con tamaños de archivo entre 5 y 512 KB. Esto simula los servidores web y de correo bastante bien, y vemos un aumento del rendimiento del 16% después de los ajustes.

    FS-Mark analiza 1000 archivos con un tamaño total de 1 MB, y mide cuántos se pueden escribir y leer por completo en una cantidad de tiempo predeterminada. Nuestros ajustes ven un aumento, de nuevo, con tamaños de archivo más pequeños. Alrededor de un aumento del 45% con los ajustes ext4..

    Acceso al sistema de archivos

    Las pruebas del sistema de archivos de prueba de Dbench son hechas por los clientes, algo así como cómo Samba hace las cosas. En este caso, el rendimiento de vainilla ext4 se reduce en un 75%, un importante retroceso en los cambios que hicimos..

    Puede ver que a medida que aumenta el número de clientes, aumenta la discrepancia de rendimiento..

    Con 48 clientes, la brecha se cerró un poco entre los dos, pero todavía hay una pérdida de rendimiento muy obvia por nuestros ajustes.

    Con 128 clientes, el rendimiento es casi el mismo. Puede razonar que nuestros ajustes pueden no ser ideales para el uso en el hogar en este tipo de operación, pero brindarán un rendimiento comparable cuando el número de clientes sea mucho mayor..

    Esta prueba depende de la biblioteca de acceso AIO del kernel. tenemos una mejora del 20% aquí.

    Aquí, tenemos una lectura aleatoria de múltiples subprocesos de 64 MB, ¡y hay un aumento del rendimiento del 200% aquí! Guau!

    Mientras escribimos 64 MB de datos con 32 subprocesos, todavía tenemos un aumento del 75% en el rendimiento.

    Compile Bench simula el efecto de la edad en un sistema de archivos como se representa mediante la manipulación de los árboles del kernel (creación, compilación, parcheo, etc.). Aquí, puede ver un beneficio significativo a través de la creación inicial del kernel simulado, alrededor del 40%.

    Estos puntos de referencia simplemente miden cuánto tiempo lleva extraer el kernel de Linux. No es demasiado el aumento de rendimiento aquí.

    Resumen

    Los ajustes que hicimos en la configuración de ext4 fuera de la caja de Ubuntu tuvieron un gran impacto. Las mayores ganancias de rendimiento se dieron en el ámbito de las escrituras y lecturas de múltiples subprocesos, las lecturas de archivos pequeños y las lecturas y escrituras de archivos contiguos grandes. De hecho, el único lugar real en el que vimos un éxito en el rendimiento fue en las simples llamadas al sistema de archivos, algo que los usuarios de Samba deben tener en cuenta. En general, parece ser un aumento bastante sólido en el rendimiento de cosas como hospedar páginas web y ver / transmitir videos grandes.

    Tenga en cuenta que esto fue específicamente con Ubuntu Natty de 64 bits. Si su sistema o SSD es diferente, su millaje puede variar. Sin embargo, en general, parece que los ajustes del programador de IO y Fstab que hicimos nos ayudaron a mejorar el rendimiento, por lo que probablemente valga la pena probarlo en su propio equipo..

    ¿Tienes tus propios puntos de referencia y quieres compartir tus resultados? ¿Tienes otro tweak que no sepamos? Sonar en los comentarios.!