Questions d'entretien avancées Java - Ralentissement du serveur dans l'environnement de production, idées de diagnostic et évaluation des performances

Le serveur dans l'environnement de production ralentit, discutez des idées de diagnostic et de l'évaluation des performances

Les raisons du ralentissement du serveur dans l'environnement de production sont multiples: regardez l'ensemble de la machine, du processeur, de la mémoire, du disque, des E / S réseau, etc. et optimisez-les en fonction de la situation spécifique.

Machine entière: commande supérieure

La commande top est un outil d'analyse des performances couramment utilisé sous Linux, qui peut afficher l'utilisation des ressources de chaque processus du système en temps réel .

Nous savons que pour déterminer la charge d'un système, vous pouvez utiliser les commandes top , uptime et autres pour l'afficher. load averageIl enregistre la charge moyenne du système pendant une minute, cinq minutes et quinze minutes.

$ top

Insérez la description de l'image ici
La somme des trois valeurs de charge moyenne est divisée par 3, puis multipliée par 100%. Si elle est supérieure à 60%, la charge système est importante.

cpu : vmstat

La commande vmstat fournit des statistiques sur les threads du noyau, la mémoire virtuelle, les disques, les interruptions et l'activité du processeur. Les rapports générés par la commande vmstat peuvent être utilisés pour équilibrer l'activité de charge du système. Les statistiques à l'échelle du système (dans tous les processeurs) calculent la valeur moyenne exprimée en pourcentage ou calculent la somme.

$ vmstat -n 2 3

Insérez la description de l'image ici
Insérez la description de l'image ici

Additionnel

Afficher toutes les informations de base du processeur

mpstat -P ALL 5 2

Indique qu'un rapport est généré toutes les 5 secondes et qu'un total de 2 rapports est généré.
Insérez la description de l'image ici

Explication détaillée des paramètres de la commande mpstat sous Linux

Informations de décomposition de l'utilisation du processeur par chaque processus

pidstat est principalement utilisé pour surveiller l'occupation des ressources système par tout ou par des processus spécifiques, tels que le processeur, la mémoire, les E / S de périphérique, la commutation de tâches, les threads, etc. Lorsque pidstat est exécuté pour la première fois, il affiche diverses statistiques depuis le démarrage du système, et l'exécution de pidstat par la suite affichera les statistiques depuis la dernière exécution de la commande. Les utilisateurs peuvent obtenir les informations statistiques requises en spécifiant le nombre et l'heure des statistiques.

En utilisant l' -poption pidstat , nous pouvons voir l'utilisation des ressources système d'un processus spécifique.
En utilisant cette -uoption, pidstat affichera les statistiques d'utilisation du processeur de chaque processus actif . L'effet de l' pidstat -uexécution est pidstatle même que celui de l'exécution individuelle .

pidstat -u 1 -p 进程编号

Échantillonnage toutes les secondes, imprimez les détails.
Insérez la description de l'image ici

Mémoire: gratuite

Comment observer le problème d'utilisation de la mémoire, free est une commande très utile. Le
paramètre -maffiche l'utilisation de la mémoire en Mo.

$ free
              total        used        free      shared  buff/cache   available
Mem:        4000436     1192152      266780       53844     2541504     2468412
Swap:       4194300         524     4193776

$ free -g
              total        used        free      shared  buff/cache   available
Mem:              3           1           0           0           2           2
Swap:             3           0           3

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3906        1163         260          52        2482        2410
Swap:          4095           0        4095

Expérience

  • Mémoire disponible de l'application / mémoire physique du système> 70% de mémoire suffisante
  • Mémoire disponible de l'application / mémoire physique du système <20% de mémoire insuffisante, besoin d'augmenter la mémoire
  • 20% <mémoire disponible de l'application / mémoire physique du système <70% de la mémoire est fondamentalement suffisant

Additionnel

Option d'utilisation de pidstat -r, pidstat affichera les statistiques d'utilisation de la mémoire de chaque processus actif

pidstat -p 进程号 -r 采样间隔秒数

Explication détaillée de la commande pidstat pour la surveillance en temps réel du processus d'exécution Linux

Disque: df

$ df -h
文件系统        容量  已用  可用 已用% 挂载点
udev            1.9G     0  1.9G    0% /dev
tmpfs           391M  1.5M  390M    1% /run
/dev/sda1        28G   20G  7.1G   74% /
tmpfs           2.0G     0  2.0G    0% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs           2.0G     0  2.0G    0% /sys/fs/cgroup
tmpfs           391M   20K  391M    1% /run/user/1000

Comme vous pouvez le voir, 28G a utilisé 20G, dont 74% ont été utilisés

Disque: IO

Iostat est principalement utilisé pour surveiller la charge d'E / S de l'équipement système. Lorsque iostat est exécuté pour la première fois, il affiche diverses informations statistiques dès le démarrage du système. Ensuite, l'exécution d'iostat affichera les informations statistiques depuis la dernière exécution de la commande. Les utilisateurs peuvent obtenir les informations statistiques requises en spécifiant le nombre et l'heure des statistiques.

iostat -xdk 2 3

Le paramètre -dindique l'état utilisé du périphérique d'affichage (disque); -kl'utilisation de certains blocs en unités de colonne applique des unités de kilo-octets; représente 2, les données sont actualisées toutes les 2 secondes. 3 signifie, échantillonner 3 fois.

Insérez la description de l'image ici
Insérez la description de l'image ici

Additionnel

pidstat utiliser les -doptions, nous pouvons voir les statistiques du processus IO

pidstat -d 采样间隔秒数 -p 进程号

Insérez la description de l'image ici
Le programme ici est un programme d'impression en boucle sans fin, donc les E / S de disque n'occupent pas beaucoup.

Réseau IO

L' outil ifstat est un outil de surveillance d'interface réseau, qui est relativement simple à regarder le trafic réseau

Télécharger
http://gael.roualland.free.fr/ifstat/ (site officiel)

wget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz

Compiler et installer

tar -zxvf ifstat-1.1.tar.gz
cd ifstat-1.1
./configure            #默认会安装到/usr/local/bin/目录中
make
make  install

Remarque: which ifstatsortie d' exécution / usr / local / bin / ifstat

#ifstat
       eth0                eth1       
 KB/s in  KB/s out   KB/s in  KB/s out
    0.07      0.20      0.00      0.00
    0.07      0.15      0.58      0.00

référence

16 commandes de surveillance de serveur Linux dont vous avez besoin pour connaître le
notebook Linux / Unix

Je suppose que tu aimes

Origine blog.csdn.net/e891377/article/details/108790671
conseillé
Classement