Linux est un système d'exploitation puissant et flexible, largement utilisé dans les serveurs, les systèmes intégrés et même les ordinateurs personnels. Cependant, même le système le mieux configuré peut faire face à des goulots d'étranglement des performances au fil du temps. Le réglage des performances est crucial pour assurer un fonctionnement efficace des systèmes Linux, qui peuvent optimiser l'utilisation des ressources et éviter des ralentissements inutiles.
Ce guide fournit une méthode de réglage des performances Linux qui se concentre sur trois domaines clés: CPU, mémoire et optimisation du disque. Que vous soyez un administrateur système, un ingénieur DevOps ou un passionné de Linux, la compréhension et la mise en œuvre de ces optimisations aideront à augmenter la réponse du système, à réduire les déchets de ressources et à vous assurer que le système se déroule bien.
Avant de pouvoir optimiser davantage, assurez-vous de comprendre les mesures de performances du système. La surveillance de ces mesures nous permet de diagnostiquer les problèmes de performance et de prendre des décisions d'ajustement éclairées.
Indicateurs de performance clés (KPI) - Utilisation du processeur: le pourcentage du temps de CPU pris par le processus.
L'outil de surveillance des performances Linux fournit une variété d'outils pour mesurer ces mesures:
Des goulots d'étranglement du CPU peuvent survenir en raison d'une charge de processus élevée, d'une planification inefficace ou d'une affirmation pour les ressources du processeur. Voici comment optimiser les performances du processeur.
Identifier les goulots d'étranglement du CPU Utilisez la commande suivante pour diagnostiquer les problèmes de processeur:
top htop mpstat -p tout 1 sar -u 5
La planification de processus optimisée Linux utilise un planificateur entièrement équitable (CFS) pour allouer l'heure du processeur. Vous pouvez ajuster manuellement les priorités du processus en utilisant la commande suivante:
Nice -n 10 process_name Renice -n -5 -p pid
Utilisez un taskset pour lier le processus à un CPU spécifique:
taskset -c 0,1 process_name
Limitez l'utilisation du processeur pour empêcher les processus de consommer trop de processeur, veuillez utiliser CPULIMIT:
cpumimit -l 50 -p pid
Pour les environnements conteneurisés, utilisez des CGROUPS:
cgcreate -g cpu: / limitégroup echo 50000> /sys/fs/cgroup/cpu/limitedgroup/cpu.cfs_quota_us CGEXEC -G CPU: Process de groupe limité_name
Le réglage des paramètres du noyau et le réglage des paramètres du noyau peuvent améliorer l'efficacité du processeur:
sysctl -w kernel.sched_min_granularity_ns = 10000000 sysctl -w kernel.sched_wakeup_granularity_ns = 15000000
Les problèmes de mémoire peuvent ralentir gravement le système, entraînant un dépassement et une latence élevée.
Diagnostic d'utilisation de la mémoire Utilisez ces outils pour vérifier les statistiques de la mémoire:
GRATUIT -M VMSTAT 5 SMEM
Trouvez une utilisation de partition d'échange élevée (SI et donc dans VMSTAT), qui indique la pression de la mémoire.
Optimiser l'utilisation de la partition d'échange - Vérifiez les performances de partition d'échange:
swapon -s
sysctl -w vm.swappiness = 10
modprobe zram echo 1> / sys / block / zram0 / réinitialisation
Gérez les caches et les tampons pour libérer de la mémoire, effacer les caches inutilisées:
synchronisation; Echo 3> / Proc / Sys / Vm / Drop_Caches
Ajustez le comportement du tampon du noyau:
sysctl -w vm.dirty_ratio = 20 sysctl -w vm.dirty_background_ratio = 5
Optimisation des grandes pages pour les applications telles que les bases de données, activer les grandes pages:
Echo 1024> / Proc / Sys / Vm / NR_HugePages
Les performances du disque sont essentielles aux bases de données, aux serveurs de fichiers et aux applications qui gèrent de grandes quantités de données.
Mesurer les performances du disque - Vérifiez l'activité des E / S:
iosta -x 5 iotop
fio --name = seqwrite --rw = write --bs = 128k --ze = 1g --numjobs = 4 --runtime = 60
Optimisation des systèmes de fichiers - Utilisez des systèmes de fichiers optimisés (EXT4, XFS, BTRFS).
Tune2fs -o Has_journal / dev / sdx
Mount -O Remount, noatime, nodiratime / dev / sdx / mnt
Le planificateur de disque optimise le planificateur d'E / S pour le changement de SSD:
ECHO NOOP> / SYS / BLOCK / SDA / FIDE / SHANDUPER
Pour le disque dur:
ECHO CFQ> / SYS / BLOCK / SDA / Queue / Scheduler
Optimisation RAID et LVM - Utilisez RAID 10 pour de meilleures performances de lecture / écriture.
lvcreate -i 2 -i 256 -l 10g -n lv_name vg_name
Optimisation du SSD - Activer la garniture:
fstrim -v /
Mount -o défausse, par défaut / dev / sdx / mnt
sysctl -w net.core.somaxConn = 1024 sysctl -w fs.file-max = 100000
ulimit -N 100000
Systemctl Disable Service_name
Charge du CPU élevée sur le serveur Web - Utilisation élevée du processeur PHP-FPM est identifiée.
Excès d'E / S sur le disque sur le serveur de base de données - Déplacez les journaux vers des disques séparés.
Le réglage des performances est un processus en cours impliquant la surveillance, l'analyse et l'optimisation. En suivant les meilleures pratiques décrites dans ce guide, vous pouvez vous assurer que votre système Linux fonctionne en douceur et efficacement.
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!