
Leistungsprobleme treten selten isoliert auf. Oft kann ein einzelnes Problem eine Kaskade verwandter Probleme auslösen, von denen jedes die Gesamtauswirkung auf das System verstärkt. Diese Fallstudie analysiert ein solches Szenario in der T10-Datenbank auf dem g1rush Server.
Am 21. Juni 2024 um 13:04:32 Uhr DBPLUS Performance Monitor hat einen kritischen Fehler gemeldet: ORA-1652, was darauf hinweist, dass das temporäre Segment im TEMPORARY_DATA-Tablespace in der T10-Datenbank auf dem g1rush-Server nicht um 128 erweitert werden kann. Dieser Fehler trat auf, weil gleichzeitige Sitzungen den temporären Speicherplatz der Tabellen überlasteten und mehr als 30 GB beanspruchten.

Der in der Grafik hervorgehobene Anstieg der Ressourcenauslastung erregte sofort die Aufmerksamkeit des Unternehmens. Dieser Überlauf beeinträchtigte den laufenden Betrieb und deutete auf ein ineffizientes Ressourcenmanagement hin.
Weitere Untersuchungen ergaben eine anhaltend hohe Belastung des Prozessors, auch nachdem die Anzahl der aktiven Prozesse reduziert wurde. Die zyklische Natur dieser Belastung, die in Zeiten hoher Aktivität ihren Höhepunkt erreichte, deutete auf tiefere Probleme bei der Abfrageoptimierung und Ressourcenzuweisung hin.

Die obige Grafik zeigt die Auslastung (CPU), die Systemzeit (CPU) und die Benutzerzeit (CPU) mit einem klaren Muster zyklischer Spitzen. Aufgrund dieser anhaltend hohen Auslastung mussten wir uns mit bestimmten Abfragen und Prozessen befassen, die CPU-Ressourcen verbrauchen.
Der nächste Schritt bestand darin, die spezifischen Abfragen zu analysieren, die zur hohen CPU-Last beigetragen haben. Insbesondere die Abfrage nach dem Identifier 3445255751 ergab signifikante Änderungen der Ausführungszeit und des Zeitplans. Es wurde vermutet, dass diese Änderungen mit der längeren Ausführungszeit einer anderen Abfrage, ID 904000402, aufgrund der Verwendung der gemeinsamen Funktion zusammenhängen.

Die Analyse ergab, dass bei der Abfrage 3445255751 Laufzeitschwankungen auftraten, die sich auf die Gesamtleistung auswirkten. Beim Vergleich der Ausführungspläne haben wir den Plan-Hash 232983816 als potenzielle Ursache für Ineffizienz identifiziert.

Dieser Vergleich verdeutlichte die Notwendigkeit, die Abfrageleistung zu stabilisieren, indem ein bestimmter Plan erzwungen wird. Aufgrund der Änderung der Umsetzungsstrategie wurde die Notwendigkeit einer konsistenten Überwachung und rechtzeitigen Anpassung der Pläne deutlich.

Als wir unsere Untersuchung fortsetzten, stellten wir eine erhebliche Netzwerkbelastung fest, mit Datenübertragungen von bis zu 52 GB pro Stunde. Dies deutete auf einen erheblichen Datenfluss hin, der die beobachteten Leistungsprobleme möglicherweise noch verschärft hat.

Die Analyse des Netzwerkverkehrs ergab eine große Anzahl von Bytes, die von SQL*Net empfangen und gesendet wurden, was die Auswirkungen der Datenübertragung auf die Gesamtleistung hervorhob.