Btrfs es un sistema de archivos que es muy nuevo y todavía está en fase de desarrollo y evaluación comparativa. En lo que respecta al rendimiento, generalmente no requiere mucho que ver porque funciona bien con las opciones predeterminadas.
1. El rendimiento de Btrfs mejora con el uso de ssd.
Btrfs es compatible con SSD y aprovecha TRIM/Discard para permitir que el sistema de archivos informe los bloques no utilizados al dispositivo de almacenamiento para su reutilización. En SSD, Btrfs evita la optimización de búsqueda innecesaria y envía escrituras agresivas en clústeres, incluso si provienen de archivos no relacionados.
Nota :Montas con -o ssd para habilitar el ajuste.2. Habilite la desfragmentación en línea.
Btrfs proporciona una opción de montaje (-o autodefrag ) que habilita un asistente de desfragmentación automática. Cuando un bloque se copia y se escribe en el disco, el asistente de desfragmentación automática marca esa parte del archivo para desfragmentarla y se la pasa a otro subproceso, lo que permite que la fragmentación se reduzca automáticamente en segundo plano. Esta capacidad puede proporcionar un beneficio significativo para cargas de trabajo de bases de datos pequeñas, cachés de navegador y cargas de trabajo similares. Lo bueno es que la desfragmentación puede tener lugar mientras el sistema de archivos está montado y realizando operaciones de forma activa.
3. Utilice la opción noatime en lugar de relatime.
La opción de montaje noatime podría acelerar su sistema de archivos, especialmente en caso de que tenga muchas instantáneas. Se supone que cada acceso de lectura a un archivo actualiza su tiempo de acceso a Unix. COW sucederá y hará aún más escrituras. El valor predeterminado ahora es relatime, que actualiza los tiempos de acceso con menos frecuencia.
4. Otras opciones de montaje
A continuación se muestran algunas otras opciones de montaje que puede considerar según sus necesidades y requisitos.
- espacio_caché – Btrfs almacena los datos de espacio libre en el disco para hacer que el almacenamiento en caché de un grupo de bloques sea mucho más rápido (Kernel 2.6.37+). Es un cambio persistente y es seguro arrancar en kernels antiguos.
- sin vaca de datos – No copie datos de escritura. datacow se utiliza para garantizar que el usuario tenga acceso a la versión anterior de un archivo o a la versión más nueva del archivo. datacow se asegura de que nunca tengamos archivos parcialmente actualizados escritos en el disco. nodatacow aumenta ligeramente el rendimiento al sobrescribir directamente los datos (como ext[234]), a expensas de obtener archivos parcialmente actualizados en caso de fallas del sistema. La ganancia de rendimiento suele ser <5% a menos que la carga de trabajo sea escritura aleatoria en archivos de base de datos grandes, donde la diferencia puede llegar a ser muy grande
- comprimir=zlib – Mejor relación de compresión. Es el predeterminado y seguro para kernels antiguos.
- comprimir=lzo – La compresión más rápida. btrfs-progs 0.19 o anteriores fallarán con esta opción. El valor predeterminado en el kernel 2.6.39 y posteriores.
- desfragmentación automática – detectará escrituras aleatorias en archivos existentes e iniciará la desfragmentación en segundo plano. Se adapta bien a las bases de datos bdb o sqlite, pero no a las imágenes de virtualización ni a las grandes bases de datos (todavía). Una vez que los desarrolladores se aseguren de que no desfragmenta los archivos una y otra vez, moverán esto hacia el valor predeterminado. (Núcleo 3.0+)
- inode_cache – habilite el nuevo caché de inodos libre. Esta opción puede ralentizar su sistema en la primera ejecución. (Núcleo 3.0+)
Ejemplos del comando “btrfs” para crear y administrar el sistema de archivos Btrfs