Comment modifier votre disque SSD dans Ubuntu pour de meilleures performances
Il existe de nombreux conseils pour peaufiner votre disque SSD sous Linux et de nombreux rapports anecdotiques sur ce qui fonctionne et ce qui ne fonctionne pas. Nous avons effectué nos propres tests avec quelques ajustements spécifiques pour vous montrer la vraie différence..
Des repères
Pour évaluer notre disque, nous avons utilisé la suite de tests Phoronix. C'est gratuit et contient un référentiel pour Ubuntu, vous n'avez donc pas besoin de compiler à partir de rien pour exécuter des tests rapides. Nous avons testé notre système juste après une nouvelle installation d'Ubuntu Natty 64 bits en utilisant les paramètres par défaut du système de fichiers ext4..
Les spécifications de notre système étaient les suivantes:
- AMD Phenom II quad-core à 3.2 GHz
- Carte mère MSI 760GM E51
- 3,5 Go de RAM
- AMD Radeon 3000 intégré avec 512 Mo de RAM
- Ubuntu Natty
Et, bien sûr, le SSD sur lequel nous avions l'habitude de tester était un lecteur OCZ Onyx de 64 Go (117 $ au moment de la rédaction).
Tweaks éminents
Il existe de nombreux changements recommandés par les utilisateurs lors de la mise à niveau vers un SSD. Après avoir filtré certains éléments plus anciens, nous avons dressé une courte liste de modifications que les distributions Linux n’ont pas incluses comme paramètres par défaut pour les SSD. Trois d’entre elles impliquent l’édition de votre fichier fstab, alors sauvegardez-le avant de continuer avec la commande suivante:
sudo cp / etc / fstab /etc/fstab.bak
En cas de problème, vous pouvez toujours supprimer le nouveau fichier fstab et le remplacer par une copie de votre sauvegarde. Si vous ne savez pas ce que c'est ou si vous voulez améliorer son fonctionnement, jetez un coup d'œil à HTG Explains: Qu'est-ce que le fstab Linux et comment ça marche?
Éviter les temps d'accès
Vous pouvez aider à prolonger la durée de vie de votre disque SSD en réduisant la quantité d'écriture du système d'exploitation sur le disque. Si vous avez besoin de savoir quand chaque fichier ou répertoire a été utilisé pour la dernière fois, vous pouvez ajouter ces deux options à votre fichier / etc / fstab:
noatime, nodiratime
Ajoutez-les avec les autres options et assurez-vous qu'elles sont toutes séparées par des virgules et sans espace..
Activer TRIM
Vous pouvez activer TRIM pour vous aider à gérer les performances du disque sur le long terme. Ajoutez l'option suivante à votre fichier fstab:
Jeter
Cela fonctionne bien pour les systèmes de fichiers ext4, même sur les disques durs standard. Vous devez disposer d'une version du noyau d'au moins 2.6.33 ou ultérieure. vous êtes couvert si vous utilisez Maverick ou Natty, ou si les rétroportages sont activés sur Lucid. Bien que cela n'améliore pas spécifiquement l'analyse comparative initiale, cela devrait améliorer le fonctionnement du système à long terme..
Tmpfs
Le cache système est stocké dans / tmp. Nous pouvons dire à fstab de le monter dans la RAM en tant que système de fichiers temporaire afin que votre système touche moins le disque dur. Ajoutez la ligne suivante au bas de votre fichier / etc / fstab dans une nouvelle ligne:
tmpfs / tmp valeurs par défaut de tmpfs, noatime, mode = 1777 0 0
Enregistrez votre fichier fstab pour valider ces modifications.
Changement de planificateur d'E / S
Votre système n'écrit pas immédiatement toutes les modifications sur le disque et plusieurs demandes sont mises en file d'attente. Le programmateur d'entrées-sorties par défaut - cfq - gère cela correctement, mais nous pouvons le remplacer par un système plus adapté à notre matériel..
Commencez par lister les options dont vous disposez avec la commande suivante, en remplaçant «X» par la lettre de votre lecteur racine:
cat / sys / block / sdX / queue / ordonnanceur
Mon installation est sur sda. Vous devriez voir quelques options différentes.
Si vous avez une date limite, vous devriez l'utiliser, car cela vous donne un petit coup supplémentaire plus loin dans la suite. Sinon, vous devriez pouvoir utiliser noop sans problèmes. Nous devons dire au système d'exploitation d'utiliser ces options après chaque démarrage. Nous devrons donc modifier le fichier rc.local..
Nous utiliserons nano, car nous sommes à l'aise avec la ligne de commande, mais vous pouvez utiliser n'importe quel autre éditeur de texte que vous aimez (gedit, vim, etc.)..
sudo nano /etc/rc.local
Au-dessus de la ligne «exit 0», ajoutez ces deux lignes si vous utilisez l'échéance:
délai d'écho> / sys / block / sdX / file d'attente / ordonnanceur
echo 1> / sys / block / sdX / queue / iosched / fifo_batch
Si vous utilisez noop, ajoutez cette ligne:
echo noop> / sys / block / sdX / queue / ordonnanceur
Encore une fois, remplacez «X» par la lettre de lecteur appropriée pour votre installation. Regardez tout pour vous assurer que ça a l'air bien.
Ensuite, appuyez sur CTRL + O pour enregistrer, puis CTRL + X pour quitter.
Redémarrer
Pour que toutes ces modifications entrent en vigueur, vous devez redémarrer. Après cela, vous devriez être prêt. Si quelque chose ne va pas et que vous ne pouvez pas démarrer, vous pouvez systématiquement annuler chacune des étapes ci-dessus jusqu'à ce que vous puissiez redémarrer. Vous pouvez même utiliser un LiveCD ou LiveUSB pour récupérer si vous voulez.
Les modifications de votre fstab dureront toute la vie de votre installation, même en cas de mises à niveau, mais votre modification rc.local devra être rétablie après chaque mise à niveau (entre les versions)..
Résultats d'analyse
Pour effectuer les tests, nous avons exécuté la suite de tests sur disque. L'image du haut de chaque test est avant d'ajuster la configuration ext4, et l'image du bas est après les ajustements et un redémarrage. Vous verrez une brève explication de ce que le test mesure ainsi qu'une interprétation des résultats..
Opérations sur grands fichiers
Ce test compresse un fichier de 2 Go avec des données aléatoires et l’écrit sur le disque. Les ajustements SSD montrent ici une amélioration d'environ 40%.
IOzone simule les performances du système de fichiers, dans ce cas en écrivant un fichier de 8 Go. Encore une fois, une augmentation de près de 50%.
Ici, un fichier de 8 Go est lu. Les résultats sont presque les mêmes que sans ajustement ext4.
AIO-Stress teste l'entrée et la sortie de manière asynchrone, en utilisant un fichier de test de 2 Go et une taille d'enregistrement de 64 Ko. Ici, il y a une augmentation de performance de près de 200% par rapport à vanilla ext4!
Opérations de petit fichier
Une base de données SQLite est créée et PTS y ajoute 12 500 enregistrements. Les modifications apportées au SSD ont en réalité ralenti les performances d'environ 10%..
Le test de performance Apache teste des lectures aléatoires de petits fichiers. Il y avait un gain de performance d'environ 25% après l'optimisation de notre disque SSD.
PostMark simule 25 000 transactions de fichiers, 500 simultanément, pour des tailles de fichier comprises entre 5 et 512 Ko. Cela simule assez bien les serveurs Web et de messagerie, et nous constatons une augmentation des performances de 16% après optimisation..
FS-Mark examine 1 000 fichiers d’une taille totale de 1 Mo et mesure le nombre de fichiers pouvant être entièrement écrits et lus dans un laps de temps prédéterminé. Nos mises au point voient une augmentation, encore une fois, avec des fichiers plus petits. Environ 45% d'augmentation avec les ajustements ext4.
Accès au système de fichiers
Les tests de performances de Dbench testent les appels de système de fichiers effectués par les clients, un peu comme le fait Samba. Les performances de vanilla ext4 ont été réduites de 75%, ce qui constitue un revers majeur pour les modifications apportées..
Vous pouvez constater que lorsque le nombre de clients augmente, la différence de performances augmente..
Avec 48 clients, l’écart s’est quelque peu réduit entre les deux, mais il reste une perte de performance très évidente de nos modifications..
Avec 128 clients, la performance est presque la même. Vous pouvez penser que nos modifications ne sont peut-être pas idéales pour une utilisation à domicile dans ce type d'opération, mais offrent des performances comparables lorsque le nombre de clients est considérablement accru..
Ce test dépend de la bibliothèque d'accès AIO du noyau. nous avons une amélioration de 20% ici.
Ici, nous avons une lecture aléatoire multi-thread de 64 Mo, et il y a une augmentation de 200% des performances ici! sensationnel!
Lors de l'écriture de 64 Mo de données avec 32 threads, les performances ont encore augmenté de 75%..
Compile Bench simule l'effet de l'âge sur un système de fichiers tel que représenté par la manipulation des arborescences du noyau (création, compilation, correction, etc.). Ici, vous pouvez voir un avantage significatif à travers la création initiale du noyau simulé, environ 40%.
Ces tests mesurent simplement le temps nécessaire pour extraire le noyau Linux. Pas trop d'une augmentation de performance ici.
Résumé
Les ajustements que nous avons apportés à la configuration ext4 immédiate d’Ubuntu ont eu un impact considérable. Les gains de performances les plus importants ont été enregistrés dans les domaines des écritures et des lectures multithreads, des lectures de petits fichiers et des lectures et écritures de fichiers volumineux contigus. En fait, le seul endroit où nous avons constaté un succès en termes de performances était dans les appels au système de fichiers simples, ce que les utilisateurs de Samba devraient surveiller. Dans l’ensemble, il semble que les performances augmentent considérablement, notamment en ce qui concerne l’hébergement de pages Web et le visionnage / streaming de vidéos volumineuses.
Gardez à l’esprit que c’était précisément avec Ubuntu Natty 64 bits. Si votre système ou votre SSD est différent, votre kilométrage peut varier. Dans l’ensemble, cependant, il semble que les ajustements que nous avons apportés au fstab et au gestionnaire d’IO améliorent considérablement les performances. C’est donc probablement la peine d’essayer votre propre plate-forme..
Avez-vous vos propres points de repère et souhaitez-vous partager vos résultats? Avez-vous un autre tweak que nous ne connaissons pas? Sound out dans les commentaires!