Wir haben eine Anwendung, die den ganzen Tag über regelmäßig eine SQL-Datenbank abfragt. Es gibt Perioden mit null oder nur geringer Aktivität, die mit individuellen Anforderungen für relativ große Datenmengen durchsetzt sind. Wenn diese Anfragen eingehen, besteht das primäre Ziel darin, die Daten schnell zu liefern, und das sekundäre Ziel besteht darin, dies kostengünstig zu tun. Aufgrund der Art der Anwendung ist es ziemlich unwahrscheinlich, dass die Daten / Indizes aus der vorherigen Abfrage im RAM zwischengespeichert wurden (verschiedene Benutzer, die an verschiedenen Teilen der Daten arbeiten).
Für ein System, das relativ regelmäßig verwendet wird, habe ich die Faustregel gehört, die Länge der Festplattenwarteschlange zu beobachten und diese Zahl relativ klein zu halten. Dies wird speziell in AWS ausgeführt, wo ich die Faustregel gesehen habe, dass eine Festplattenwarteschlangenlänge von 1 pro 100 IOPS angemessen ist.
Wie kann ich die E / A-Anforderungen für ein solches System abschätzen? Ist die Länge der Festplattenwarteschlange ein zuverlässiger Indikator bei der Bearbeitung einzelner, platzender Abfragen? Gibt es andere Metriken, die ich berücksichtigen sollte?