Comment utiliser Linux pour régler les performances des E/S du disque
Lorsque vous utilisez un système Linux pour régler les performances des E/S du disque, vous pouvez améliorer les performances des E/S du disque en optimisant le système de fichiers, en ajustant le planificateur d'E/S et en configurant correctement le RAID. Cet article décrit ces méthodes et fournit des exemples de code correspondants.
1. Optimiser le système de fichiers
Ext4 est l'un des systèmes de fichiers les plus couramment utilisés sur les systèmes Linux. Il offre des performances et une stabilité élevées. Vous pouvez améliorer les performances des E/S du disque en formatant le système de fichiers en ext4.
Exemple de code :
# umount /dev/sdb1 # mkfs.ext4 /dev/sdb1 # mount -t ext4 /dev/sdb1 /mnt
ext4 prend en charge deux méthodes d'écriture de journal : data=ordered et data=writeback. Parmi eux, en mode data=writeback, la latence d’écriture des données est inférieure et les performances sont plus élevées. Il peut être modifié en utilisant la méthode suivante :
Exemple de code :
# tune2fs -o journal_data_writeback /dev/sdb1
2. Ajustez le planificateur d'E/S
Le planificateur d'E/S par défaut du système Linux est CFQ (Completely Fair Queuing), qui tente d'obtenir une distribution équitable selon le ordre de la requête IO du processus. Toutefois, dans certains scénarios de charge élevée, les performances des E/S du disque peuvent être dégradées. Par conséquent, vous pouvez essayer d'utiliser des planificateurs d'E/S plus adaptés, tels que noop, date limite et cfq.
Le planificateur noop n'a aucun algorithme de planification, il traite simplement les demandes dans l'ordre dans lequel elles sont demandées. Adapté aux disques SSD ou aux cartes RAID hautes performances, vous pouvez modifier le planificateur d'IO via la commande suivante :
Exemple de code :
# echo noop > /sys/block/sdb/queue/scheduler
Le planificateur d'échéances divise les requêtes d'IO en deux files d'attente : celles soumises par le processus file d'attente de requêtes IO et file d'attente de requêtes de fusion IO émises par le noyau. Convient aux périphériques RAID et aux disques durs plus courants.
Exemple de code :
# echo deadline > /sys/block/sdb/queue/scheduler
le planificateur cfq pour allouer uniformément les ressources IO entre différents processus, adapté aux scénarios multitâches. Vous pouvez utiliser la commande suivante pour modifier le planificateur d'E/S :
Exemple de code :
# echo cfq > /sys/block/sdb/queue/scheduler
3. Configurez correctement RAID
Pour les scénarios d'application qui nécessitent des performances d'E/S de disque plus élevées, vous pouvez envisager d'utiliser la technologie RAID. RAID combine plusieurs disques durs en un disque logique pour améliorer les performances et la fiabilité des E/S grâce à la technologie de distribution de données et de redondance.
Exemple de code :
# mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
# mkfs.ext4 /dev/md0
# mount -t ext4 /dev/md0 /mnt
Quatre Surveiller les performances des E/S du disque
Enfin, comprendre les performances des E/S du disque La clé. à réglage. Vous pouvez utiliser des outils tels que iostat, sar, etc. pour surveiller les performances de lecture et d'écriture des E/S du disque et d'autres indicateurs.
Exemple de code :
# iostat -x 1
Ce qui précède explique comment utiliser Linux pour ajuster les performances d'E/S du disque. En optimisant le système de fichiers, en ajustant le planificateur d'E/S et en configurant correctement le RAID, vous pouvez améliorer les performances d'E/S du disque. Dans le même temps, la surveillance des performances des E/S du disque peut nous aider à évaluer l'effet du réglage. J'espère que le contenu de cet article vous sera utile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!