BesluitBron 1.4.4-23 Status Anmelden

Pufferung und Durchlaufzeit

Zuletzt geändert am .

Eine Anfrage eines Nutzers führt oft zu mehreren Aufrufen, und jeder Aufruf wird an einen Dienst eines Drittanbieters weitergeleitet. Die Pufferung bestimmt daher zwei Dinge: wie schnell ein Gespräch abläuft und wie stark BesluitBron die Quellplattformen belastet.

Pufferung nach Plattform

Der Puffer ist pro Plattform getrennt. Eine Plattform, die langsam reagiert oder vorübergehend nicht erreichbar ist, hält die anderen sechs nicht auf. Ein geleerter Puffer einer Plattform hat keine Auswirkungen auf die anderen.

Was gepuffert wird, hängt von der Art der Daten ab:

  • Listen, die sich selten ändern, wie beispielsweise die Quellorganisationen, die Ausschüsse, die Fraktionen und die Wertelisten der Plattform „Rechtspraak“, werden langfristig aufbewahrt. Diese Listen ändern sich im Abstand von mehreren Monaten;
  • Suchergebnisse werden nur kurz gespeichert. Ein Assistent, der dieselbe Frage innerhalb eines Gesprächs wiederholt, belastet die Plattform dadurch nicht zweimal;
  • Der vollständige Dokumenttext wird so lange gespeichert, wie dies vertretbar ist, da das Abrufen des Textes der aufwendigste Vorgang ist, den dieses Produkt ausführt.

Nach einem Upgrade ungültig

Eine zwischengespeicherte Antwort ist die Antwort, wie sie von einer Plattform – beispielsweise einer bestimmten Version von BesluitBron – gelesen und gespeichert wurde. Eine neue Version kann etwas anderes von der Plattform anfordern oder etwas anderes von derselben Antwort speichern. Dann liegt eine glaubwürdige Antwort auf eine Frage vor, die nicht mehr in dieser Form gestellt wird. Die Zeit behebt das nicht: Der vollständige Dokumenttext wird wochenlang gespeichert und überdauert somit mehrere Ausgaben.

Jedes zwischengespeicherte Element speichert daher, durch welche Version von BesluitBron es erstellt wurde. Ein Element, das eine andere Version angibt, wird gelöscht, sobald dies erforderlich ist, und die Plattform wird erneut abgefragt. Es wird nichts im Voraus bereinigt. Nur das, was tatsächlich abgefragt wird, wird geprüft. Ein Neustart kostet daher niemals einen gerade erst aufgebauten Puffer.

Anfragedaten der Plattformen

Die Plattformen unterscheiden sich stark hinsichtlich ihrer Belastbarkeit. Dies wurde gemessen und nicht angenommen. Ein nicht festgestellter Grenzwert ist kein nicht vorhandener Grenzwert. Wenn der Quellenbetreiber keinen Grenzwert veröffentlicht, wird dies als Feststellung bei diesem Quellenbetreiber vermerkt.

Plattform Beobachteter Grenzwert
Open Raadsinformatie Es wurde keine Begrenzung festgestellt
OpenBesluitvorming 60 gewichtete Einheiten pro Minute, von der Plattform selbst erzwungen
Tweede Kamer Es wurde kein Grenzwert veröffentlicht und es wurde kein Grenzwert festgestellt
OpenTK keine feste Obergrenze; der Administrator warnt selbst vor teuren Suchanfragen
Officiële Bekendmakingen Beschränkung beim Suchdienst
Rechtspraak Bei beiden Diensten wurde keine Begrenzung festgestellt
Open Archivaris 120 Anrufe pro Minute

BesluitBron hält sich auf seiner Seite an diese Grenzen. So wird ein intensives Gespräch nicht den Dienst eines anderen stören.

Wie oft ein Client „BesluitBron“ aufrufen darf

Die oben genannten Beschränkungen dienen dem Schutz der Quellplattformen. Eine zweite Beschränkung schützt BesluitBron selbst. Die MCP-Adressen verfügen über keine Authentifizierung, daher gilt eine Geschwindigkeitsbegrenzung für die Anfragen, die ein Client an BesluitBron sendet. Ohne diese Begrenzung würde ein einzelner Client mit einer Flut von Anfragen den gesamten Dienst lahmlegen, auch jene Teile, mit denen dieser Client nichts zu tun hat.

Es gibt drei Grenzen, und eine Anfrage durchläuft alle drei:

  • eine Begrenzung für den gesamten Prozess, denn eine Flutwelle betrifft den gesamten Dienst und nicht nur eine einzelne Adresse;
  • eine Begrenzung pro Anschluss, damit die Belastung an einem Anschluss den anderen nicht beeinträchtigt;
  • ein Limit pro Sitzung, und vor jeder Sitzung wird pro Client-Adresse ein Limit festgelegt, damit nicht ein einzelner Client den gesamten Speicherplatz beansprucht.

Ein Client, der einen Grenzwert überschreitet, erhält den HTTP-Status 429 mit einem „Retry-After“. Dies ist die Anzahl der Sekunden, die der Client warten muss, bevor er einen neuen Versuch unternimmt. Die Grenzwerte sind großzügig bemessen und haben bei normaler Nutzung keine Auswirkungen. Ein Administrator kann sie unter BesluitBron:McpRateLimit für eine Installation mit vielen gleichzeitigen Clients erhöhen. Siehe Uitrol en Beheer.

Was einem Leser dabei auffällt

Eine erste Anfrage zu einem Thema dauert länger als eine Folgeanfrage zum selben Thema. Eine Anfrage, für die der vollständige Dokumenttext benötigt wird, dauert länger als eine Anfrage, bei der die Titel ausreichen. Eine Abfrage aller 331 Quellen gleichzeitig dauert länger als eine Abfrage zu einer einzigen Gemeinde. Unmittelbar nach einem Upgrade von BesluitBron dauert eine erste Abfrage erneut länger, da der Puffer der vorherigen Version dann nicht mehr verwendet wird.

Ist dieser Unterschied groß genug, um den Gesprächsverlauf zu beeinflussen, wird dies in den Tools vermerkt. Der Assistent kann dann den kostengünstigeren Weg wählen, sofern dieser ebenfalls zur Antwort führt.