Vor kurzem hatten wir Probleme mit der Sperrung unserer Oracle-Datenbank für eine Abfrage, die wir bisher kennen.
Ich werde eine Aufschlüsselung des Geschehens geben, habe jedoch nicht zu viel mit meiner Frage zu tun, bin aber offen für Vorschläge.
Es ist zeitweise nicht bekannt, wann dies geschehen wird. In den letzten vier Monaten hat ein Benutzer viermal darauf geklickt. Was der Benutzer klickt, ist noch unbekannt. Bei jedem Klick wird eine Abfrage in der Datenbank ausgeführt, die ungefähr 700.000 Zeilen generiert.
Ich habe die Tabelle überprüft, für die die Abfrage ausgeführt wird, und die Indizes sehen gut aus.
Die Datenbank ist 60 GB, auf dem Server befinden sich 32 GB.
In den Protokollen auf dem Datenbankserver sehe ich hohe E / A, aber CPU und RAM bleiben gleich.
Auf dem Anwendungsserver steigt die CPU auf ca. 75%. Ich kann den Worker-Prozess und die PID finden. Wenn ich jedoch die mit dem Worker-Prozess verknüpfte PID beende, wird die CPU kurzzeitig heruntergefahren und dann wieder hochgefahren.
Wenn Sie auch den Anwendungspool recyceln und IIS neu starten, wird die CPU für kurze Zeit heruntergefahren und anschließend sofort wieder hochgefahren.
Das einzige, was getan werden kann, um den Server wieder in Betrieb zu nehmen, ist ein Neustart.
Also mein Vorschlag, wenn diese Abfrage die Abstürze verursacht, kann der Speicher auf der Box vergrößert werden, damit die Datenbank zwischengespeichert wird und nicht mehr genügend Speicher zur Verfügung steht. Ich habe das einmal gehört, bin mir aber nicht sicher, ob es wahr ist.
Der Speicher ist ein HP PAR 3 mit drei Ebenen, und die Datenbank befindet sich praktisch in der SSD-Ebene.
Welches ist schneller SSD oder Speicher