Für die Ausgangsrichtung der Schnittstelle steht ein Speicherpuffer und zusätzlich ein optional aktivierbarer Dateipuffer zur Verfügung.
Daten, die an das Zielsystem gesendet werden sollen, durchlaufen immer den ibaPDA-internen Speicherpuffer. Bei bestehender Verbindung zum Zielsystem werden die Daten aus dem Speicherpuffer sofort dorthin gesendet. Geht die Verbindung verloren oder können die Daten nicht schnell genug verschickt werden, dann bleiben die Daten im Speicherpuffer erhalten. Der Speicherpuffer liegt im RAM des ibaPDA-Rechners, ist daher limitiert und flüchtig. Wird z. B. die Erfassung neu gestartet, gehen die gepufferten Daten verloren. Wächst der Speicherpuffer bei laufender Erfassung über die konfigurierte Größe hinaus an, werden die ältesten Werte gelöscht und gehen somit verloren.
Zur Verbesserung kann zusätzlich ein Dateipuffer aktiviert werden, der weitaus größere Datenmengen puffern kann. Die Daten werden dabei in Dateien in einem Verzeichnis eines lokalen Laufwerks des ibaPDA-Servers gespeichert. Bei aktiviertem Dateipuffer werden Daten aus dem überlaufenden Speicherpuffer in den Dateipuffer übertragen. Wird die Erfassung beendet oder neu gestartet (z. B. durch Anwenden einer geänderten IO-Konfiguration), werden Daten, die sich evtl. zu diesem Zeitpunkt im Speicherpuffer befinden, ebenfalls in den Dateipuffer übertragen.
Nach Wiederherstellung der Verbindung zum Zielsystem werden immer die ältesten Daten zuerst gesendet. Neuere Werte werden währenddessen dem Puffer hinzugefügt. Wenn beim Start der Erfassung noch gepufferte Daten im Dateipuffer vorhanden sind, werden diese genauso berücksichtigt und verarbeitet.
Für die SQL-Anweisungen bedeutet dies, dass die Anweisungen gem. der zum Zeitpunkt der Pufferung gültigen Konfiguration gepuffert werden. Wenn Sie während einer laufenden Pufferung die SQL-Anweisung ändern (im I/O-Manager ändern und übernehmen), dann werden nach Wiederherstellung der Verbindung trotzdem noch die alten Anweisungen ausgeführt, so wie sie zum Zeitpunkt der Pufferung erzeugt wurden.
Im Register Puffer bei den Ausgängen der jeweiligen SQL-Schnittstelle, nehmen Sie die Konfiguration der Pufferung vor (hier Beispiel SQL Server).
Speicherpuffer
Der Speicherpuffer ist immer aktiviert. Sie können ihn nicht deaktivieren, da zu übertragende Daten immer den Puffer durchlaufen, bevor sie an das Zielsystem weitergegeben werden.
Maximale Größe
Geben Sie hier die maximale Gesamtgröße für im Speicher gepufferte Elemente ein. Wenn die maximale Größe überschritten wird, gibt es 2 Möglichkeiten:
-
Wenn die Dateipufferung deaktiviert ist, wird das älteste Element im Speicher gelöscht (und ist damit für immer verloren).
-
Wenn die Dateipufferung aktiviert ist, wird der älteste Teil des Pufferspeichers in eine Pufferdatei verschoben.
Speicherpuffer regelmäßig sichern alle … s
Diese Option können Sie nur aktivieren, wenn der Dateipuffer aktiviert ist. Wenn die Option aktiviert ist, wird der gesamte Speicherpuffer periodisch in eine Pufferdatei ausgelagert.
Geben Sie eine Dauer ein, nach der der Speicherpuffer regelmäßig gesichert wird. Sie muss zwischen 10 s und 600 s liegen.
Mit dieser Option können Sie erreichen, dass möglichst wenig Daten bei einem Systemausfall verloren gehen.
Aktuelle Speicherkonfiguration
Anzeige, welche Zeitspanne ungefähr mit den konfigurierten Einstellungen im Speicherpuffer zwischengespeichert werden kann. Angabe in d.hh:mm:ss.
Dateipuffer
Dateipuffer verwenden
Standardmäßig wird der Dateipuffer nicht verwendet. Hier können Sie die Dateipufferung aktivieren.
Aktuelle Dateikonfiguration
Anzeige, welche Zeitspanne ungefähr mit den konfigurierten Einstellungen im Dateipuffer zwischengespeichert werden kann. Angabe in d.hh:mm:ss.
Dateiverzeichnis
Im Feld Dateiverzeichnis können Sie einen Speicherort für die Dateien wählen. Sie können das Verzeichnis direkt in das Textfeld eingeben oder über den Browse-Button <…> auswählen. Das konfigurierte Dateiverzeichnis muss sich auf einer lokalen Festplatte des ibaPDA-Server-Rechners befinden.
Das gleiche Dateiverzeichnis können Sie für mehrere SQL-Befehlsmodule verwenden, da die Pufferdateien einen eindeutigen Namen haben. Dateien aus verschiedenen SQL-Befehlsmodulen können somit anhand ihres Namens unterschieden werden.
Maximale Größe
Sie können die maximale Gesamtgröße der Pufferdateien eines SQL-Befehlsmoduls konfigurieren. Die Pufferdateien selbst haben die Dateierweiterung .buf, die Index-Datei zur Verwaltung der Pufferdateien hat die Endung .info. Die maximale Größe ist die Gesamtgröße aller dieser Dateien. Wenn die maximale Puffergröße überschritten wird, wird die älteste Pufferdatei gelöscht.
Weitere Puffereinstellungen
Maximale Zeit
Gespeicherte Daten, die älter als die maximale Zeit sind, werden nicht an das Zielsystem übertragen. Dateien, die älter als die Maximalzeit sind, können gelöscht werden. Sie können einen Wert zwischen 1 und 1000 Stunden eingeben.
Maximale Queue-Größe
Hier können Sie eine Obergrenze für die Anzahl der gepufferten SQL-Anweisungen festlegen. Je nach Anwendungsfall kann es sinnvoller sein eine Anzahl von Anweisungen vorzugeben, anstatt einer maximalen Zeit. Führend ist trotzdem die Puffergröße.
Diagnose Speicherpuffer/Diagnose Dateipuffer
Zuletzt entferntes Element
Zeigt an, wann das letzte Element aus diesem Teil des Puffers genommen wurde.
Füllstand
Der Füllstand gibt jeweils an, welcher prozentuale Anteil der Puffergröße aktuell mit gepufferten Daten gefüllt ist.
Unverarbeiteter Anteil
Im Dateipuffer werden Elemente, die an das Zielsystem übertragen wurden, nicht sofort gelöscht. Erst wenn eine Pufferdatei vollständig gelesen ist, wird sie gelöscht. Es ist also möglich, dass nur ein Teil einer Pufferdatei noch nicht übertragene Daten enthält. Der Füllstand bezieht sich auf die vorhandenen Pufferdateien, der "unverarbeitete Anteil" gibt dagegen den prozentualen Anteil der noch nicht übertragenen Daten im Dateipuffer wieder.
Tipp |
|
|---|---|
|
Wenn Sie für ein SQL-Befehlsmodul auch ein Diagnosemodul in der I/O-Konfiguration anlegen, können Sie Werte zum Füllstand von Speicherpuffer und Dateipuffer überwachen und aufzeichnen. Siehe auch Diagnosemodule. |
|
