J'utilise le serveur Ubuntu 12.04, j'ai du mal à trouver la cause de la charge, j'ai vu le temps de réponse du serveur changer depuis la semaine dernière
après avoir lu le dépannage de Linux, partie I: charge élevée
Il semble qu'il n'y ait pas de problème avec le CPU et la RAM, et cette charge peut être liée à la charge liée aux E / S
en utilisant la top
commande que j'ai obtenue après la sortie
Voilà 97.6%wa
, la RAM est gratuite et aucun échange n'est utilisé.
Voici la sortie de la commande iostat
qui sème qu'il y a89% iowait
ubuntu@ip-my-sys-ubuntu:~$ iostat
Linux 3.2.0-58-virtual (ip-172-31-6-203) 02/19/2015 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
3.05 0.01 3.64 89.50 3.76 0.03
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
xvdap1 69.91 3.81 964.37 978925 247942876
J'ai également utilisé iotop
ce qui, après l'intervalle de correction, montre 99% d'E / S, le disque écrit que j'observateur1266 KB/s
et
Est-ce mauvais? lorsque le temps de réponse diminue. qu'est-ce qui cause cela?
MODIFICATIONS demandées par d'autres
iftop O / P
12.5kb 25.0kb 37.5kb 50.0kb 62.5kb
└─────────────────┴──────────────────┴─────────────────┴──────────────────┴──────────────────
ip-12-1-1-111.ap-southeast-1. => 115.231.218.130 0b 2.04kb 522b
<= 0b 1.53kb 393b
ip-112-1-1-111.ap-southeast-1. => 62.snat-111-91-22.hns.net.in 1.52kb 1.52kb 1.72kb
<= 208b 208b 262b
ip-112-1-1-111.ap-southeast-1. => static-mum-120.63.141.177.mtnl. 0b 480b 240b
<= 0b 350b 175b
ip-112-1-1-111.ap-southeast-1. => ip-112-11-1-1.ap-southeast-1.co 0b 118b 178b
<= 0b 210b 292b
ip-112-1-1-111.ap-southeast-1. => static-mum-120.63.194.119.mtnl. 0b 0b 240b
<= 0b 0b 175b
TX: cum: 123kB peak: 3.72kb rates: 1.67kb 2.02kb 1.78kb
RX: 51.5kB 4.88kb 1.19kb 989b 918b
TOTAL: 174kB 8.60kb 2.86kb 2.98kb 2.68kb
sortie de iostat -x -k 5 2
ubuntu@ip-111-11-1-111:~$ iostat -x -k 5 2
Linux 3.2.0-58-virtual (ip-111-11-1-111) 03/04/2015 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
3.75 0.01 4.74 22.72 4.06 64.71
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
xvdap1 0.00 263.80 0.42 109.42 7.28 1572.36 28.76 1.92 17.52 17.57 17.52 2.31 25.39
avg-cpu: %user %nice %system %iowait %steal %idle
8.97 0.00 4.77 76.34 9.92 0.00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
xvdap1 0.00 35.69 0.00 85.88 0.00 438.93 10.22 137.55 1612.71 0.00 1612.71 11.11 95.42
@shodanshok point 2
iotop -a
la source
Réponses:
Réglez votre service mysql pour éviter de toucher au disque et faites attention à votre file d'attente postfix, vous pouvez avoir beaucoup d'e-mails dans une file d'attente sensible aux E / S (c'est-à-dire différés, petits itens avec un comportement de lecture aléatoire).
Votre système de messagerie électronique a été utilisé comme relais pour les spammeurs.
Jetez un œil à la documentation de postfix et limitez l'accès relais à votre MTA.
la source
qshape deferred
commande.postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_maps=proxy:mysql:/etc/zpanel/configs/postfix/mysql-virtual_mailbox_limit_maps.cf
postconf: warning: /etc/postfix/master.cf: unused parameter: smtpd_bind_address=127.0.0.1
a obtenu ces erreursqshape deferred
/var/lib/postfix/deferred
. Déplacez-les dans lahold
file d' attente pour une enquête plus approfondie ou un nettoyage.Modifié après des informations supplémentaires recueillies à l'aide d'iostat et d'iotop.Votre
disque est chargé à 100% car il manque des IOPS disponibles: selon l'iostat, vous avez une constante 50+ IOPS (85 w / s - 35 fusionnés w / s). Les instances EC2, en particulier celles à bas prix, ont un plafond élevé sur les IOPS soutenus (dans la plage de 30 à 50 IOPS).
Selon la nouvelle sortie iotop, mysql et bounce consomment une quantité importante d'IOPS. Cependant, la sortie d'iotop ne semble pas complète, ou du moins mal triée. Pouvez-vous réexécuter le tri «iotop -a» une fois par IOPS et une autre fois par écriture sur disque?
Réponse originale
Mon pari: le processus de "rebond" émet de nombreuses écritures synchronisées qui étouffent le périphérique de disque virtuel proposé par Amazon (à propos, quel profil utilisez-vous? Les disques EC2 ont des règles assez strictes pour les E / S continues vs rafales).
Quoi qu'il en soit, identifier ce qui brûle la bande passante d'E / S peut parfois être quelque peu difficile. Bien que iotop soit un très bon outil, il ne vous fournit parfois pas les informations requises. Nous devons aller plus loin. Alors, suivez ces conseils:
S'il vous plaît exécutez la commande suivante:
iostat -x -k 5 2
. Veuillez rapporter les deux ensembles de résultats.Quand peut utiliser "top" pour cela: lancez-le, appuyez sur shift + f (F), puis w, puis enter, puis shift + r (R). Les premiers processus seront ceux en état D ou D + (ie: en attente de disque / réseau). Veuillez rapporter la liste.
Exécutez
iotop -a
pendant environ une minute et collez ici la sortie.la source
Un peu tard, mais j'ai eu le même problème sur une machine similaire et j'ai découvert que le problème était un tas de tables MySQL corrompues. Étant donné que certaines de ces tables contenaient beaucoup de données, elles produisaient beaucoup de temps d'attente d'E / S.
Regardez
/var/log/mysql/error.log
ou utilisezmysqlcheck
pour trouver et réparer des données corrompues.la source
Comme indiqué ci-dessus, il est fort probable que votre instance EC2 soit livrée avec un plafond d'E / S ou peut-être qu'elle soit sauvegardée sur un volume Amazon EBS Standard qui ne fournit tout simplement pas beaucoup d'E / S. Jetez un œil à cette page - elle décrit les différents types de volumes proposés par Amazon.
Même si vous avez un volume lent, vous devriez toujours pouvoir y écrire assez rapidement, mais si votre chargement est aléatoire par nature, comme il semble qu'il puisse l'être (substance SQL), vous voudrez peut-être mettre à niveau l'IOPS capacité, car cela met généralement la limite supérieure sur les performances SQL.
Donc - d'après vos chiffres, il semblerait que vous pourriez manquer d'IOPS en utilisant le stockage standard. Acheter un stockage plus rapide n'est pas si cher. Jetez un oeil à cela .
la source
Le disque peut être en mode non DMA. Veuillez vérifier l'état DMA du lecteur. (commande hdparm)
Si ce n'est pas le cas, quelque chose d'autre peut générer beaucoup d'interruptions. Quelqu'un se souvient-il de ceux de la bonne vieille ère DOS?
la source