Blog

Zu den Leistungsproblemen der letzten Tage
author David Straub

2026-09-22

Zu den Leistungsproblemen der letzten Tage

Wer Grampshub in den vergangenen Tagen als träge erlebt hat, mit langsam ladenden Seiten und Hintergrundaufgaben, die weit länger als üblich brauchten, findet hier die Erklärung.

Kurz zusammengefasst

Ein automatisiertes Programm hat sehr viele Anfragen an einen selten genutzten Teil der Gramps-Web-Schnittstelle geschickt, und zwar so, dass jede einzelne Anfrage unnötig aufwendig war. Die Belastung des Datenbankservers, den sich alle Stammbäume teilen, hielt danach mehrere Tage an, bis ein Neustart der Datenbank am 21. September die aufgestaute Last beseitigt hat.

Inzwischen läuft alles wieder normal. Es sind keine Daten verloren gegangen, und Sie müssen nichts unternehmen. Durch die normale Nutzung von Grampshub konnte das nicht ausgelöst werden.

Zeitlicher Ablauf

  • Nacht vom 14. auf den 15. September: Eine Welle automatisierter Anfragen erhöht die Last auf der Datenbank stark.
  • 15.–20. September: Grampshub ist zeitweise langsam, einige Hintergrundaufgaben dauern deutlich zu lange.
  • 20. September: Ein Update für Gramps Web API, das dieses Problem verhindert, erscheint und wird auf Grampshub eingespielt.
  • 21. September: Ein Neustart der Datenbank beseitigt die aufgestaute Last, die Leistung ist wieder normal.

Was passiert ist

Gramps Web hat eine spezielle Funktion, mit der sich ein ganzer Stapel von Änderungen auf einmal übertragen lässt. Sie ist für das Addon Gramps Web Sync gedacht, das Gramps auf dem Desktop mit Gramps Web abgleicht. Die App im Browser verwendet sie nie.

Bei bestimmungsgemäßer Nutzung wird der aufwendigste Teil der Arbeit, die Aktualisierung des Suchindex, zurückgestellt und später erledigt. Das automatisierte Programm hat diesen Schritt ausgelassen, sodass jede Anfrage die gesamte Arbeit sofort erledigte und die Datenbank währenddessen beschäftigt hielt. Diese Anfragen kamen in einer großen Welle über Nacht, vermutlich von einem Skript oder KI-Agenten. Manche dauerten so lange, dass der Server sie mittendrin abbrach, und die Datenbank blieb auf unerledigter Arbeit sitzen, die sie nicht aufräumen konnte. Mit der Zeit wurde dadurch alles andere auf demselben Server langsamer.

Was sich geändert hat

Das am 20. September erschienene Update für Gramps Web API stellt die aufwendige Arbeit jetzt immer zurück, egal wie die Funktion aufgerufen wird. Die Art von Anfrage, die diese Probleme verursacht hat, ist damit so leichtgewichtig wie jede andere.

Auf Seiten von Grampshub bricht die Datenbank hängende Anfragen jetzt deutlich früher ab, sodass ein einzelnes fehlerhaftes Programm keine solche Last mehr aufbauen kann.

Automatisierter Zugriff bleibt willkommen

Ihre Daten auf Grampshub sollen zugänglich sein, und dazu gehört auch der Zugriff mit eigenen Skripten und KI-Agenten. Das wird nicht gesperrt. Die einzige Bitte: Automatisierte Werkzeuge sollten ihr Tempo drosseln. Ein Programm, das in einer engen Schleife läuft, betrifft alle auf dem Server, nicht nur das eigene Konto.

Für Entwickler

Betroffen war der Endpunkt /transactions/, ein Mechanismus zum Einspielen von Änderungen für Sync-Clients. Fehlte beim Aufruf das Argument background, aktualisierte er den Index der semantischen Suche innerhalb der Anfrage und hielt dabei eine Datenbanktransaktion offen. Gramps Web API 3.22.1 blockiert in diesem Fall nicht mehr (PR #990), und die Dokumentation beschreibt jetzt den Zweck des Endpunkts (PR #991).

Wer einen Client für die Gramps Web API entwickelt, sollte bitte einen aussagekräftigen User-Agent-Header mitsenden. So lässt sich ein gut funktionierender Client schnell ausschließen, wenn etwas Derartiges passiert. Mehr dazu steht in dieser Diskussion im Gramps-Forum (auf Englisch).

Vielen Dank an alle, die die Probleme gemeldet haben. Das hat die Suche nach der Ursache deutlich beschleunigt.