Re: Firebird 2.5 auf Windows Server 2022 extrem langsam – vorher unter Server 2016 alles schnell
Verfasst: Fr 25. Jul 2025, 12:10
Es gibt noch einen Einfluss, der gerne übersehen wird.
Man muss die Transaktionszähler Älteste und Nächste prüfen, ob diese ggf. weit mehr als 20.000 Differenz haben. In diesem Fall könnte in der MON$STATEMENTS noch ein SQL stehen, der eine Transaktion festhält, was das Reorganisieren der Transaktionsdaten (Satzversionen) verhindert.
Anhand des Zeitstempels kann man dann sehen, wie lange die schon da drin steht.
Per Delete + Commit kann man diese auch entfernen. In MON$TRANSACTIONS und MON$ATTACHMENTS sollten alte Transaktion und Verbindungen dann auch verschwinden.
Falls die Verbindungen nicht verschwinden, kann man diese mit Delete auch entfernen.
Warum macht das das System langsam?
Jede Datenänderung (Update, Delete) sorgt dafür, dass die vorherigen Informationen für die alten Transaktionen noch sichtbar bleiben muss. Dies führt bei neuen Transaktion zum Überlesen der alten Daten. Da hilft dann auch kein Index, da die alten Daten ja ebenso im Index stehen.
Ursachen?
Es könnte bei ungeplanten Shutdowns oder bei Datensicherung des Servers passieren, dass der FB-Server entweder seinen Cache nicht mehr schreiben kann und/oder einfach abgewürgt wird.
Der FB-Server hat noch keinen Volume-Schattenkopie-Driver, der vom Backup angestoßen wird um während des Backups in nicht geschützte Bereiche seine Updates schreibt und nach dem Ende des Backups dann in die DB übernimmt (wäre mal eine Anfrage an diei Entwicklung wert).
Wichtig bei FB-Servern ist, dass diese gezielt heruntergefahren werden müssen, bevor ein System-Backup oder ein Shutdown erfolgt.
Ggf. gibts in den Firebid.log's (Programmvezeichnis) auch Hinweise auf kaputte Blöcke. In dem Fall ist ein Save/Restore erforderlich.
Man muss die Transaktionszähler Älteste und Nächste prüfen, ob diese ggf. weit mehr als 20.000 Differenz haben. In diesem Fall könnte in der MON$STATEMENTS noch ein SQL stehen, der eine Transaktion festhält, was das Reorganisieren der Transaktionsdaten (Satzversionen) verhindert.
Anhand des Zeitstempels kann man dann sehen, wie lange die schon da drin steht.
Per Delete + Commit kann man diese auch entfernen. In MON$TRANSACTIONS und MON$ATTACHMENTS sollten alte Transaktion und Verbindungen dann auch verschwinden.
Falls die Verbindungen nicht verschwinden, kann man diese mit Delete auch entfernen.
Warum macht das das System langsam?
Jede Datenänderung (Update, Delete) sorgt dafür, dass die vorherigen Informationen für die alten Transaktionen noch sichtbar bleiben muss. Dies führt bei neuen Transaktion zum Überlesen der alten Daten. Da hilft dann auch kein Index, da die alten Daten ja ebenso im Index stehen.
Ursachen?
Es könnte bei ungeplanten Shutdowns oder bei Datensicherung des Servers passieren, dass der FB-Server entweder seinen Cache nicht mehr schreiben kann und/oder einfach abgewürgt wird.
Der FB-Server hat noch keinen Volume-Schattenkopie-Driver, der vom Backup angestoßen wird um während des Backups in nicht geschützte Bereiche seine Updates schreibt und nach dem Ende des Backups dann in die DB übernimmt (wäre mal eine Anfrage an diei Entwicklung wert).
Wichtig bei FB-Servern ist, dass diese gezielt heruntergefahren werden müssen, bevor ein System-Backup oder ein Shutdown erfolgt.
Ggf. gibts in den Firebid.log's (Programmvezeichnis) auch Hinweise auf kaputte Blöcke. In dem Fall ist ein Save/Restore erforderlich.