Comment identifier une écriture lourde sur le disque?


9

J'ai ce problème avec le serveur exécutant l'application CakePHP. Le serveur est incroyablement lent, j'ai d'abord pensé que c'était un problème d'application, mais j'ai trouvé une écriture constante de 5-6 Mo / s sur le disque.

Quelle est la façon la plus simple de trouver la cause d'une écriture aussi lourde?

Le serveur exécute Gentoo.

Réponses:



17

En tant qu'auteur de Dstat, je voudrais signaler des options supplémentaires. Vous pouvez facilement voir quel processus consomme le plus de bande passante d'E / S:

dstat -ta --top-bio

ou dstat -ta --top-io

Le premier étant les E / S de bloc supérieur et le second les E / S supérieures (y compris en cache). Cela peut vous aider à valider si c'est ce que vous attendez (à la fois en tant que consommateur et en tant que consommateur).

Il existe d'autres plugins qui peuvent vous aider à identifier le taux d'utilisation des disques:

dstat -tdf --disk-util

Donc, si vous avez des goulots d'étranglement d'E / S, cela vous indiquera le ou les disques impliqués afin que vous puissiez voir si quelque chose peut être fait à ce sujet.

Et si vous dépannez des systèmes de fichiers spécifiques (réseau), vous pouvez utiliser d'autres plugins pour obtenir plus d'informations sur ces systèmes de fichiers. Dstat a également des plugins pour d'autres métriques (CPU, VM, virtualisation, etc ...) et selon ce que vous devez visualiser, vous pouvez écrire vos propres plugins, ou modifier les plugins existants pour montrer exactement ce dont vous avez besoin pour corréler.

Cependant, si vous avez besoin d'aide, souhaitez contribuer ou avez une nouvelle idée astucieuse, contactez-moi pour voir comment nous pouvons procéder ...


3

Vous pouvez utiliser l'outil fantaisie dstat


3

Depuis la page de manuel de dstat - «dstat -M time, cpu, net, disk, sys, load, proc, topcpu». dstat est installé avec la plupart des distributions et est donc plus rapide que l'installation d'iotop.


3

essayez vmstat et iostat


1

Vous pouvez vider les activités du disque (avec le pid qui le génère) dans syslog avec la commande suivante:

echo 1 > /proc/sys/vm/block_dump

Avant d'émettre cela, assurez-vous que vos journaux système ne sont pas sur un périphérique bloc, sinon vous vous retrouverez dans une boucle infinie.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.