Ich habe auf einem Server das Problem, dass er ständig mit verhältnismäßig großen Datenmengen umgehen muss, und sehr viele Plattenzugriffe verwendet, was sich leider nicht wirklich cachen lässt. Typisch für diesen Server ist, dass z.B. der Load steigt, aber CPU und RAM-Auslastung im Rahmen bleiben, da viele Prozesse auf Daten von der Platte warten müssen.
Jetzt überlege ich, wie man so etwas sinnvoll monitoren kann, das heißt in eine mrtg oder cacti Statistik einbauen kann. Aber irgendwie habe ich hier noch keine wirklich gute Idee.
Ich habe überlegt die "bi" und "bo" Werte von vmstat zu verwenden (ein Block ist doch 1 KB, oder?), aber ich bin noch nicht so sicher wie aussagekräftig das ist.
Wie ist das - laufen IDE(udma), SATA bzw. SCSI Platten alle im "Full-Duplex-Modus"? Eine IDE-Platte schafft ja um die 40 - 50 MB pro Sekunde - heißt das 20MB oder 40MB in beide Richtungen?
Das Problem mit der Aussagefähigkeit besteht auch darin, dass diese Methode eher nicht berücksichtigt, wenn sehr viele sehr kleine Plattenzugriffe stattfinden.
Es geht mir darum eine langfristige Statistik zu erhalten, um ggfs. frühzeitig auf einen Server mit schnelleren Platten/RAID umzustellen, oder ggfs. sogar Loadbalancing einzusetzen.
Bei vmstat gibt es ja noch den Messwert "wa":
Das hört sich für mich sehr interessant an, nur leider ist der 2.6er Kernel im Moment noch keine Option für mich.wa: Time spent waiting for IO. Prior to Linux 2.5.41, shown as zero.
Wie würdet ihr das machen? Vielleicht auch einfach mehrere Werte kombinieren, aber welche außer IO-Bandbreite?
Viele Grüße
Andreas
