ESA-Konfiguration: Konfigurieren von ESA für die Verwendung eines Speicherpools

Document created by RSA Information Design and Development on May 10, 2018
Version 1Show Document
  • View in full screen mode
 

Dieses Verfahren gilt nur für ESA-Korrelationsregeln.

Administratoren können ESA für die Verwendung eines Speicherpools konfigurieren. Ein Speicherpool ist eine kundenspezifische Implementierung des virtuellen Speichers für Ereignisse, die nach Regeln in ESA stattfinden. Dadurch kann die Fähigkeit von Regeln um ein Vielfaches erweitert werden. Wenn Sie Regeln erstellen möchten, die einen großen Zeitraum abdecken oder die sehr komplex sind, sollten Sie möglicherweise einen Speicherpool verwenden, um Speicher effizienter zu verarbeiten. Wenn Sie einen Arbeitsspeicherpool verwenden, können Ereignisse auf Festplatte geschrieben werden und müssen nicht im Arbeitsspeicher behalten werden. Das ist hilfreich, denn wenn eine Regel vorhanden ist, die komplex ist oder einen langen Zeitraum abdeckt, muss eine große Anzahl von Ereignissen im Arbeitsspeicher gespeichert werden.

Sie können die Ausführung von Speicherpools im Non-Batch-Modus oder im Batch-Modus konfigurieren:

  • Non-Batch-Modus. Im Non-Batch-Modus werden Ereignisse auf die Festplatte geschrieben, wenn sie im Speicherpool eingehen. Legen Sie zum Konfigurieren des Non-Batch-Modus das Attribut MapPoolBatchWriteSize auf den Wert 1 fest. Der Non-Batch-Modus bietet eine stabilere Lösung, da jedes Ereignis separat abgelegt und abgerufen wird, ohne Arbeitsspeicherspitzen zu verursachen.
  • Batch-Modus. Im Batch-Modus werden Ereignisse in Batches gruppiert und dann auf die Festplatte geschrieben. Legen Sie zum Konfigurieren des Batch-Modus das Attribut MapPoolBatchWriteSize auf einen größeren Wert als 1 fest. Der Batch-Modus bietet eine bessere Performance, da die Festplattenaktivität für auf der Festplatte abgelegte Ereignisse optimiert ist.

Hinweis: Für alle Änderungen an diesen Einstellungen ist ein Neustart des ESA-Services erforderlich. Wenn beim Neustart von ESA aktuell Ereignisse im Speicherpool gespeichert sind, werden diese nach dem Neustart verworfen. 

Achtung: Diese Funktion kann zwar sehr hilfreich beim Managen von Speicher sein, kann sich aber auf die Ereignisverarbeitungsgeschwindigkeit des ESA-Services auswirken.  Die Performance kann zwischen 10 und 30 Prozent beeinträchtigt sein, je nach Regeln und Konfigurationseinstellungen.

Workflow

Das folgende Diagramm zeigt den Datenfluss bei Verwendung des Speicherpools für den Batch-Modus:

Diagramm mit Datenfluss bei Verwendung des Speicherpools für den Batch-Modus

  1. Ereignisse werden dem Speicherpool hinzugefügt und Verweise auf die Ereignisse werden im Speicherpool gespeichert.
  2. Die Ereignisse werden dann in Batches gruppiert, die auf die Festplatte gesendet werden (im Non-Batch-Modus wird dieser Schritt übersprungen).
  3. Sobald der Batch den Schwellenwert erreicht hat, werden die Ereignisse auf die Festplatte geschrieben (im Non-Batch-Modus ist kein Schwellenwert erforderlich).
  4. Wenn die EPL ein Ereignis erfordert, das auf die Festplatte geschrieben wurde, wird das Ereignis in den Cache übertragen und in der EPL-Regel verwendet. 

Verfahren

Führen Sie zum Konfigurieren eines ESA-Speicherpools die folgenden Schritte aus. 

  1. Navigieren Sie zu ADMIN > Services, wählen Sie den ESA-Service aus und wählen Sie dann Aktionen-Symbol > Ansicht > Durchsuchen
  2. Wählen Sie CEP > EsperPool > Konfiguration.
  3. Geben Sie Werte für die folgenden Felder ein:
                                      
AttributBeschreibungKonfiguration 
MapPoolPersistenceURISpeicherort zum Speichern der Speicherpooldatei.

Der Standardwert ist /opt/rsa/esa/pool/esperPool. RSA empfiehlt, den Standardwert nicht zu ändern.

 Wenn Sie diese Einstellung ändern, um eine andere Partition zu verwenden, stellen Sie sicher, dass die Partition mindestens zehnmal mehr Speicherplatz als der für ESA zugewiesene Speicher enthält.

Achtung: Wenn der Speicherpool in Verwendung ist, während dieser Pfad geändert wird, ist ein ESA-Neustart erforderlich. In diesem Fall verwirft ESA die gespeicherten Ereignisse nicht, was bedeutet, dass Sie diese manuell löschen müssen.

MapPoolEnableAktivieren oder deaktivieren Sie den Speicherpool.Der Standardwert ist false. Legen Sie den Wert auf true fest, um den Speicherpool zu aktivieren.  Wenn Sie den Speicherpool aktivieren oder deaktivieren, ist ein Neustart erforderlich.
MapPoolFlushIntervalSecs

Zeitintervall zum Leeren von Ereignissen an die Festplatte.  Beispielsweise wird jedes Ereignis, das länger als 15 Minuten in Esper verbleibt, auf die Festplatte geleert.

Der Standardwert ist 15 Minuten. Ein kleinerer Wert sorgt dafür, dass der ESA-Service stabiler ist, wenn EPLs eine große Anzahl von Ereignissen im Arbeitsspeicher speichern.  Ein größerer Wert (mehr als 30 Minuten) sorgt dafür, dass nur relevante Ereignisse, die über einen längeren Zeitraum erforderlich sind, auf die Festplatte geleert werden. 

Hinweis: Aufgrund des Designs des Java-Speichermanagements kann es vorkommen, dass Ereignisse, die nicht von EPL verwendet werden, auf die Festplatte übertragen werden.  Um dies zu verhindern, können Sie einen höheren Wert für MapPoolFlushIntervalSecs festlegen.

MapPoolBatchWriteSize

Geben Sie die Batch-Größe (und ob der Batch-Modus verwendet wird) an. Die Ereignisse werden in Gruppen zusammengefasst und dann auf die Festplatte geleert.

Zur Verwendung des Non-Batch-Modus legen Sie diesen Wert auf 1 fest.  

Zur Verwendung des Batch-Modus legen Sie diesen Wert auf einen höheren Wert als 1 fest.

Die Standard-Batchgröße beträgt 100.000 Ereignisse. Wenn am Ende des Leerungsintervalls die Batchkapazität nicht erreicht ist, läuft der Batch nach 30 Sekunden ab und alle Batch-Inhalte werden als Speicherpooldateien auf die Festplatte geschrieben.

Ein kleinerer Wert für die Batchgröße (z. B. 10.000 Ereignisse) sorgt dafür, dass bei Ereignissen, die von der Festplatte abgerufen werden, kein Risiko besteht, dass sie den Speicher aufblähen, was für eine höhere Stabilität sorgt. Dagegen minimiert eine größere Batchgröße (100.000 Ereignisse) die Eingabe-/Ausgabeaktivität beim Schreiben von Ereignissen auf die Festplatte, wodurch sich die Performance verbessert. 

MapPoolMinSizeMindestgröße des Speicherpools. Dieser Wert wird für die Initialisierung verwendet, erfordert in der Regel also keine Bearbeitung. Der Standardwert ist 10.000 Ereignisse. Ein höherer Wert kann die Performance steigern.  Ein niedrigerer Wert sorgt dafür, dass das System stabiler ist. 
MapPool Persist TypeDies ist ein schreibgeschützter Parameter, der den Typ der verwendeten Optimierung angezeigt.  Der Standardwert ist RMSerialize

Hinweis: Die Wirksamkeit dieser Funktion hängt von Ihrer Umgebung ab. Wenn Sie Regeln erstellen, die einen häufigen Zugriff von Ereignissen über einen Zeitraum erfordern, kann diese Funktion die Performance verschlechtern und bietet keine oder minimale Verbesserung der Skalierbarkeit.

Speicherpooldateien werden gelöscht, wenn alle in der Pooldatei enthaltenen Ereignisse nicht mehr von einer EPL referenziert werden. 

Ergebnis

Für eine einfache EPL-Regel verbessert ESA den Speicher in der Regel um das 8- bis 9-Fache.

You are here
Table of Contents > Zusätzliche Verfahren für ESA-Korrelationsregeln > Konfigurieren von ESA für die Verwendung eines Speicherpools

Attachments

    Outcomes