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:
- Ereignisse werden dem Speicherpool hinzugefügt und Verweise auf die Ereignisse werden im Speicherpool gespeichert.
- Die Ereignisse werden dann in Batches gruppiert, die auf die Festplatte gesendet werden (im Non-Batch-Modus wird dieser Schritt übersprungen).
- Sobald der Batch den Schwellenwert erreicht hat, werden die Ereignisse auf die Festplatte geschrieben (im Non-Batch-Modus ist kein Schwellenwert erforderlich).
- 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.
- Navigieren Sie zu ADMIN > Services, wählen Sie den ESA-Service aus und wählen Sie dann
> Ansicht > Durchsuchen.
- Wählen Sie CEP > EsperPool > Konfiguration.
- Geben Sie Werte für die folgenden Felder ein:
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.