Wie würde ich überprüfen, wie ausgelastet die Festplatte mit PHP ist?

9

Ich habe festgestellt, dass einige Cloud-Hosting-Lösungen wirklich schlechte Festplatte IO haben. Dies führt zu einigen Problemen, die behoben werden können, indem das Skript wartet, bis der Datenträger weniger ausgelastet ist.

Mit PHP ist es möglich, den ausgelasteten (oder nicht so ausgelasteten) Zustand des Dateisystems zu überwachen, ohne die Situation zu verschlimmern?

    
Matthew Brown aka Lord Matt 01.08.2016, 16:19
quelle

1 Antwort

17

Wenn es sich um ein Linux-System handelt, können Sie die Festplattennutzung selbst berechnen - die Sprache, für die Sie sie implementieren, verwendet die gleichen Konzepte.

Ihr Kernel verwendet höchstwahrscheinlich sysfs , wodurch viele Informationen über Ihr System bei /sys verfügbar sind. Wir können in regelmäßigen Abständen Informationen über unsere gewünschten Festplatten abrufen und die Nutzung anhand der Unterschiede zwischen ihnen berechnen.

Auf meinem System werde ich auf die Festplatte schauen, sda , Ihre können sich unterscheiden.

%Vor%

Wenn wir uns nun die Kernel-Dokumentation für /sys/class/block/<dev>/stat ansehen, können wir Folgendes sehen Beschreibungen für jede Spalte der Ausgabe.

%Vor%

Wenn wir dies mit einem Cron-Zeitplan ausführen und einige der Wartezeiten unterscheiden, können wir sehen, wie lange wir auf jede Operation warten. Sie haben auch andere Statistiken über Gesamt-IOPS und RW-Bandbreite. Die Dokumentation geht in jedem Feld tiefer.

Unabhängig von der gewählten Sprache lautet der Dateideskriptor, der geöffnet werden soll, um Informationen über den Datenträger zu erhalten,

%Vor%

Wenn wir das nach einem Zeitplan machen, können wir phantastische Graphen zeichnen;)

    
Matt Clark 05.06.2017 23:41
quelle

Tags und Links