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:
- Otwórz
plik konfiguracji
/opt/apigee/customer/application/message-processor.properties
w edytorze. Jeśli plik nie istnieje, utwórz go. - Ustaw właściwość TTL Max L1 na odpowiednią wartość:
conf_cache_max.l1.ttl.in.seconds = 180
Zalecamy wartość
180
s. - Sprawdź, czy plik właściwości należy do „apigee” użytkownik:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 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ększconf_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).