Ustawianie wygaśnięcia pamięci podręcznej L1 w procesorze

Apigee Edge zapewnia buforowanie, aby zapewnić trwałość danych dla różnych żądań. Po odebraniu danych interfejsu API są one przez krótki czas przechowywane w pamięci podręcznej a następnie usunąć. Maksymalny czas przechowywania danych przed usunięciem jest nazywany wygaśnięciem lub czasem życia danych (TTL) pamięci podręcznej. Każda pamięć podręczna ma domyślną wartość TTL, ale w niektórych przypadkach może być konieczna jej zmiana w celu zwiększenia wydajności interfejsów API.

Typy pamięci podręcznej

Dane interfejsu API są przechowywane w dwóch typach pamięci podręcznej:

  • Poziom 1 (L1): pamięć podręczna w pamięci, która zapewnia szybszy dostęp, ale mniej dostępnego miejsca. pojemności kablowej.
  • Poziom 2 (L2). Trwała pamięć podręczna w magazynie danych Cassandra, który działa wolniej ale więcej miejsca na dane.

Gdy wpis danych w pamięci podręcznej L1 osiągnie wartość TTL L1, jest on usuwany. Jednak kopia wpisu jest przechowywana w pamięci podręcznej L2 (która ma dłuższą wartość TTL niż pamięć podręczna L1), gdzie jest on dostępny dla innych podmiotów przetwarzających wiadomości. Zobacz sekcję W pamięci oraz poziomów stałej pamięci podręcznej, aby uzyskać więcej informacji o pamięci podręcznej.

Maksymalna wartość TTL L1

W Edge dla chmury prywatnej możesz ustawić maksymalny czas TTL pamięci podręcznej L1 dla każdej wiadomości procesora z użyciem właściwości TTL Max L1 (conf_cache_max.l1.ttl.in.seconds). Wpis w pamięci podręcznej L1 wygaśnie po osiągnięciu maksymalnej wartości TTL L1 i zostanie usunięty.

Uwagi:

  • Domyślnie maksymalna wartość TTL L1 jest wyłączona (o wartości -1). w którym to przypadku określa się wartość TTL wpisu w pamięci podręcznej L1. przez zasadę PopulationCache ustawień wygaśnięcia (zarówno dla pamięci podręcznej L1, jak i L2).
  • Maksymalna wartość TTL L1 ma zastosowanie tylko wtedy, gdy jej wartość jest mniejsza niż ogólny czas wygaśnięcia pamięci podręcznej.

Ustawianie maksymalnej wartości TTL L1

Maksymalna wartość TTL L1 w procesorze wiadomości możesz ustawić w następujący sposób:

  1. Otwórz plik konfiguracji /opt/apigee/customer/application/message-processor.properties w edytorze. Jeśli plik nie istnieje, utwórz go.
  2. Ustaw właściwość TTL Max L1 na odpowiednią wartość:
    conf_cache_max.l1.ttl.in.seconds = 180

    Zalecamy wartość 180 s.

  3. Sprawdź, czy plik właściwości należy do „apigee” użytkownik:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Ponownie uruchom procesor wiadomości:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Wskazówki dotyczące ustawiania maksymalnej wartości TTL L1

Podczas ustawiania maksymalnej wartości TTL L1 pamiętaj o tych wskazówkach:

  • Brakuje RPC: jeśli zauważysz błędy zdalnego wywołania procedury (RPC) między firmy przetwarzające wiadomości – zwłaszcza w wielu centrach danych, możliwe, że w pamięci podręcznej L1 znajdują się nieaktualne wpisy, które będą nieaktualne, dopóki nie zostaną usunięte z pamięci podręcznej L1. Ustawienie maksymalnej wartości TTL L1 na mniejszą wartość wymusza nieaktualne wpisy zostaną usunięte i zastąpione nowymi wartościami z pamięci podręcznej L2.
    Rozwiązanie: zmniejsz wartość conf_cache_max.l1.ttl.in.seconds.
  • Nadmierne obciążenie w systemie Casandra: gdy ustawisz wartość maksymalnej wartości TTL L1, wpisy w pamięci podręcznej L1 zostaną ustawione na wartość tego parametru. będą wygasały częściej, co prowadzi do większej liczby błędów w pamięci podręcznej L1 i więcej trafień w pamięci podręcznej L2. Pamięć podręczna L2 jest uderzana częściej, Urządzenie Cassandra będzie bardziej obciążane.
    Rozwiązanie: Zwiększ conf_cache_max.l1.ttl.in.seconds

Zasadniczo dostrój maksymalną wartość TTL L1 do wartości równoważącej częstotliwość niepowodzeń RPC między MP przy potencjalnym obciążeniu Cassandry.

Zalecamy ustawienie wartości conf_cache_max.l1.ttl.in.seconds na co najmniej Aby przetwarzanie przebiegało płynnie, 180 s (3 minuty).