Ablauf des L1-Cache auf einem Nachrichtenprozessor festlegen

Apigee Edge bietet Caching zur Persistenz von Daten. für alle Anfragen. Wenn API-Daten empfangen werden, werden sie für kurze Zeit im Cache gespeichert. und dann gelöscht. Die maximale Zeit, die Daten aufbewahrt werden, bevor sie gelöscht werden wird als Ablauf oder Gültigkeitsdauer (TTL) des Caches bezeichnet. Jeder Cache hat eine Standard-TTL. In einigen Fällen kann es jedoch erforderlich sein, den TTL-Wert zu ändern. um die API-Leistung zu verbessern.

Cache-Typen

API-Daten werden in zwei Arten von Cache gespeichert:

  • Ebene 1 (L1): In-Memory-Cache mit schnellerem Zugriff, aber weniger verfügbarem Speicher Kapazität.
  • Ebene 2 (L2): Nichtflüchtiger Cache in einem Cassandra-Datenspeicher, der langsamer ist aber mehr Speicherkapazität zur Verfügung steht.

Wenn ein Dateneintrag im L1-Cache die L1-TTL erreicht, wird er gelöscht. Eine eine Kopie des Eintrags im L2-Cache gespeichert wird (der eine längere TTL hat als den L1-Cache), wo sie für andere Nachrichtenverarbeiter zugänglich bleibt. Weitere Informationen finden Sie unter In-Memory- und persistente Cache-Ebenen finden Sie weitere Informationen zum Cache.

Max. L1-TTL

In Edge für Private Cloud können Sie die maximale L1-Cache-TTL für jede Nachricht festlegen Prozessor mit der Eigenschaft „Max. L1-TTL“ (conf_cache_max.l1.ttl.in.seconds). Ein Eintrag im L1-Cache läuft ab, wenn der maximale L1-TTL-Wert erreicht ist, und wird gelöscht.

Hinweise:

  • Standardmäßig ist „Max. L1-TTL“ deaktiviert (mit dem Wert -1). In diesem Fall wird die TTL eines Eintrags im L1-Cache durch die Richtlinie des Typs <ph type="x-smartling-placeholder"></ph> Ablaufeinstellungen (für den L1- und den L2-Cache).
  • Die maximale L1-TTL wird nur angewendet, wenn ihr Wert kleiner als der gesamte Cache-Ablauf ist.

Max. L1-TTL festlegen

Sie können den maximalen L1-TTL-Wert auf einem Nachrichtenprozessor so festlegen:

  1. Öffnen Sie das Konfigurationsdatei /opt/apigee/customer/application/message-processor.properties in einem Editor. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
  2. Legen Sie die Eigenschaft „Max L1 TTL“ (Max. L1-TTL) auf den gewünschten Wert fest:
    conf_cache_max.l1.ttl.in.seconds = 180

    Wir empfehlen den Wert 180 Sekunden.

  3. Achten Sie darauf, dass die Eigenschaftendatei dem „Apigee“ gehört Nutzer:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Starten Sie den Message Processor neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Richtlinien für das Festlegen der maximalen L1-TTL

Beachten Sie beim Festlegen der maximalen L1-TTL die folgenden Richtlinien:

  • RPC-Fehler:Fehler bei Remoteprozeduraufrufen (Remote Procedure Call, RPC) zwischen Message Processor (MPs) – insbesondere über mehrere Rechenzentren hinweg, Es ist möglich, dass der L1-Cache veraltete Einträge enthält, die veraltet bleiben, bis sie gelöscht werden. aus dem L1-Cache. Wenn Sie die maximale L1-TTL auf einen niedrigeren Wert festlegen, veraltete Einträge, die früher entfernt und durch neue Werte aus dem L2-Cache ersetzt werden sollen.
    Lösung:Verringern Sie den Wert für conf_cache_max.l1.ttl.in.seconds.
  • Übermäßige Auslastung von Casandra:Sie legen einen Wert für „Max. L1-TTL“ und „L1-Cache-Einträge“ fest. häufiger ablaufen, was zu mehr L1-Cache-Fehlern und mehr L2-Cache-Treffern führt. Da der L2-Cache häufiger Treffer erhält, Cassandra führt zu einer erhöhten Last.
    Lösung:conf_cache_max.l1.ttl.in.seconds erhöhen

Allgemein gilt: Stellen Sie „Max L1 TTL“ auf einen Wert ein, der die Frequenz ausgleicht. der RPC-Fehler zwischen MPs mit der potenziellen Belastung von Cassandra.

Wir empfehlen, den Wert von conf_cache_max.l1.ttl.in.seconds auf mindestens 180 Sekunden (3 Minuten), damit die Verarbeitung reibungslos läuft.