guest@6admin.io:~$

ext3 : accélérez vos accès disques

Le filesystem ext3 est le défaut de toutes les distributions depuis des années et il est monté avec les options les plus lentes possibles. Trois mots à ajouter dans le fstab et vos accès disques sont divisés par deux.

Les trois options

/dev/sda1  /  ext3  defaults,noatime,data=writeback,commit=60  0  1

noatime. Le temps d’accès (atime) est mis à jour à CHAQUE lecture de fichier. Un cat fichier met à jour l’atime de fichier ET de tous les répertoires du chemin. Sur un serveur web qui lit des milliers de fichiers par seconde, l’atime est un overwrite disque invisible. noatime le supprime purement et simplement. Coût: ls -lu ne montre plus la dernière lecture, ce qui n’a jamais servi à personne.

data=writeback. Le mode journal par défaut est ordered: les données sont écrites après le journal. writeback inverse l’ordre: les données sont écrites directement, le journal ne trace que les métadonnées. Le résultat est plus rapide, mais en cas de crash, le contenu du fichier peut être ancien alors que la taille est correcte. Pour un serveur de données critiques, restez en ordered. Pour un serveur web qui sert des fichiers statiques, writeback est sans risque.

commit=60. Le journal est flushé toutes les 5 secondes par défaut. commit=60 espace à 60 secondes. Moins d’IO journal, plus de données en cache, latence divisée. En contrepartie, un crash dans la fenêtre de 60 secondes peut perdre les données de cette fenêtre.

La hiérarchie

Si vous voulez vraiment accélérer, la hiérarchie est:

  1. RAM: tmpfs pour les fichiers temporaires (le cache disque le plus rapide est le RAM disk)
  2. RAID 0 ou 10: l’écriture parallèle sur plusieurs spindles
  3. Le FS: les options ci-dessus
  4. Le disque: un 15k RPM bat un 7.2k RPM, toujours

L’ordre des étapes: commencer par noatime (gratuit, sans risque), puis data=writeback (testé en staging), puis commit=60 (assumé). Ne touchez jamais à la géométrie RAID pour compenser un FS mal configuré.

Le test

Avant/après, le plus simple:

# Avant
time find /var/www -type f | wc -l

# Après remontage avec noatime
time find /var/www -type f | wc -l

Sur un répertoire de 50 000 fichiers, la différence est typiquement de 2x. Sur un serveur de mails avec des dizaines de milliers de fichiers par Maildir, c’est le même ratio.

[edit: 2026] ext3 a été remplacé par ext4 (qui intègre les optimisations par défaut) puis par XFS et Btrfs. Mais noatime reste l’option la plus rentable sur n’importe quel filesystem Linux, ext4 compris: l’atime est toujours l’overwrite invisible qui coûte un IO disque à chaque lecture. Le reste a évolué, le noatime est éternel.