Die von einer Messaging-Engine verwendeten Speicherpuffer steuern
Jede Messaging-Engine verwaltet zwei Speicherpuffer, die Nachrichten und nachrichtenbezogene Daten enthalten. Sie können die Interaktion einer Messaging-Engine mit ihrem Datenspeicher verbessern, indem Sie die Eigenschaften optimieren, mit denen die Größen für die beiden Puffer festgelegt werden.
Informationen zu diesem Vorgang
- sib.msgstore.discardableDataBufferSize
- Die Größe des Datenpuffers (in Bytes), der von der Messaging-Engine verwendet wird, um Daten mit dem Servicequalitätsattribut "Bestmöglich, nicht persistent" zu speichern. Der Standardwert ist 320000. Dies sind ungefähr 320 Kilobytes.
- Der löschbare Datenpuffer enthält alle Daten mit dem Servicequalitätsattribut "Bestmöglich, nicht persistent". Dazu gehören Daten, die an aktiven Transaktionen beteiligt sind, und alle Daten vom Typ "Bestmöglich, nicht persistent", die die Messaging-Engine weder verworfen noch konsumiert hat. Die Messaging-Engine hält diese Daten nur in diesem Speicher und schreibt sie nie in den Datenspeicher. Wenn die Messaging-Engine dem Puffer für verwerfbare Daten Daten hinzufügt, z. B. wenn sie eine Nachricht vom Typ "Bestmöglich, nicht persistent" von einem Client empfängt, kann sie bereits im Puffer enthaltene Daten verwerfen, um Platz zu schaffen. Die Messaging-Engine kann nur Daten verwerfen, die nicht an aktiven Transaktionen beteiligt sind. Dieses Verhalten ermöglicht der Messaging-Engine, Nachrichten vom Typ "Bestmöglich, nicht persistent" zu verwerfen.
- Wenn Sie die Größe des Puffers für verwerfbare Daten erhöhen, können mehr Daten vom Typ "Bestmöglich, nicht persistent" bearbeitet werden, bevor die Messaging-Engine beginnt, Nachrichten zu verwerfen.
- sib.msgstore.cachedDataBufferSize
- Die Größe des Datenpuffers, der von der Messaging-Engine verwendet wird, um Daten zu speichern, deren Servicequalitätsattribut besser ist als Bestmöglich, nicht persistent und die im Datenspeicher gehalten werden. Der Standardwert ist 320000. Dies sind ungefähr 320 Kilobytes.
- Der Zweck dieses Datenpuffers ist die Optimierung der Leistung der Messaging-Engine. Die Zwischenspeicherung der Daten, die die Messaging-Engine unter Umständen benötigt, bewirkt, dass diese nicht aus dem Datenspeicher eingelesen werden müssen. Während die Daten in den Datenspeicher geschrieben und aus dem Datenspeicher gelesen werden, versucht die Messaging-Engine, diese Daten dem zwischengespeicherten Datenpuffer hinzuzufügen. Die Messaging-Engine kann bereits im Puffer abgelegte Daten verwerfen, wenn Speicherplatz benötigt wird.
- sib.msgstore.transactionSendLimit
- Die maximale Anzahl von Operationen, die die Messaging-Engine in jede Transaktion einschließt. Jeder JMS-Sende- und Empfangsvorgang ist beispielsweise eine Operation, die hier gezählt wird. Der Standardwert ist 100.
Achtung: Die Messaging-Engine verwendet
näherungsweise berechnete Ergebnisse, um die Daten für die Speicherpuffer zu verwalten.
Keines der DataBufferSize-Eigenschaften gibt einen genauen Hinweis auf die Speicherkapazität, die
die Messaging-Engine im JVM-Heapspeicher verbraucht.
Die Messaging-Engine kann erheblich mehr Heapspeicher verbrauchen, als die
DataBufferSize-Eigenschaften angeben.
Führen Sie in der Administrationskonsole die folgenden Schritte aus, um die Eigenschaften einer Messaging-Engine definieren, um ihre Interaktion mit ihrem Datenspeicher zu verbessern:
Vorgehensweise
- Klicken Sie im Navigationsfenster auf .
- Geben Sie den Namen der Eigenschaft ein, das Sie definieren möchten.
- Geben Sie den Wert ein, den Sie für die Eigenschaft festlegen möchten.
- Klicken Sie auf OK.
- Speichern Sie Ihre Änderungen in der Masterkonfiguration.
Nächste Schritte
Hinweis: Wenn Sie diese Eigenschaften ändern, müssen Sie die
Messaging-Engine erneut starten, damit die neuen Werte übernommen werden.