Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Ten dokument wyjaśnia, jak włączyć deduplikację ciągów znaków w procesorach wiadomości w Apigee Edge.
Deduplikacja ciągów znaków to funkcja w Javie, która pomaga oszczędzać pamięć zajmowaną przez zduplikowane obiekty String w aplikacjach w Javie. Zmniejsza to wykorzystanie pamięci obiektów String w pamięci sterty Javy, ponieważ zduplikowane lub identyczne wartości ciągów korzystają z tej samej tablicy znaków.
Procesor wiadomości Apigee Edge jest komponentem opartym na Javie. Używanie deduplikacji ciągów znaków w procesorze wiadomości może poprawić wydajność serwerów proxy interfejsu API przez zmniejszenie wykorzystania pamięci, zwłaszcza jeśli serwery proxy interfejsu API intensywnie korzystają z ciągów znaków.
Funkcji deduplikacji ciągów znaków można używać tylko z modułem G1 Garbage Collector (G1GC) w aplikacjach Java. Jeśli chcesz włączyć tę funkcję w procesorze wiadomości, musisz już włączyć G1GC lub włączyć jednocześnie deduplikację G1GC i deduplikację ciągów w tym procesorze.
Zanim zaczniesz
- Jeśli nie znasz jeszcze G1GC, przeczytaj ten artykuł.
- Jeśli nie wiesz, jak działa deduplikacja ciągów znaków, przeczytaj artykuł o deduplikowaniu ciągów znaków w kolektora pamięci G1.
- Jeśli nie wiesz, jak włączyć G1GC w procesorach wiadomości brzegowych, przeczytaj artykuł o włączaniu G1GC w tych procesorach.
- Jeśli nie wiesz, jak skonfigurować właściwości Edge w Private Cloud, przeczytaj artykuł o konfigurowaniu Edge.
Włączanie deduplikacji ciągów znaków w procesorach wiadomości
W tej sekcji dowiesz się, jak włączyć funkcję deduplikacji ciągów znaków w procesorach wiadomości brzegowych. Deduplikację ciągów znaków można włączyć za pomocą właściwości useStringDeduplication
w komponencie procesora wiadomości. Domyślnie ta właściwość w procesorach wiadomości ma wartość fałsz. Aby skonfigurować dowolną właściwość w procesorze wiadomości, użyj tokena zgodnie ze składnią opisaną w artykule Jak skonfigurować Edge.
Aby włączyć deduplikację ciągów znaków w procesorach wiadomości, wykonaj te czynności:
- Znajdowanie tokena dla właściwości useStringDeduplication
- Włączanie parametru useStringDeduplication w procesorze wiadomości
Znajdź token dla właściwości useStringDeduplication
Poniżej znajdziesz informacje o tym, jak znaleźć token na potrzeby useStringDeduplication:
-
Wyszukaj właściwość
useStringDeduplication
w katalogu źródłowym procesora wiadomości/opt/apigee/edge-message-processor/source
za pomocą tego polecenia:grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
-
Dane wyjściowe tego polecenia pokazują token właściwości
useStringDeduplication
podmiotu przetwarzającego wiadomości w ten sposób:/opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}
Gdzie ciąg znaków między tagami
{T}{/T}
to nazwa tokena, który możesz ustawić w pliku.properties
procesora wiadomości. Dlatego token właściwościuseStringDeduplication
wygląda tak:conf_system_useStringDeduplication
Włącz deduplikację ciągów znaków w procesorach wiadomości
Poniżej znajdziesz instrukcje włączania deduplikacji ciągów znaków w procesorach wiadomości Apigee:
-
Otwórz w edytorze plik
/opt/apigee/customer/application/message-processor.properties
na komputerze procesora wiadomości. Jeśli plik jeszcze nie istnieje, utwórz go. Przykład:vi /opt/apigee/customer/application/message-processor.properties
-
Dodaj do tego pliku ten wiersz:
conf_system_useStringDeduplication=true
- Zapisz zmiany.
-
Upewnij się, że ten plik właściwości należy do użytkownika
apigee
. Przykład:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Ponownie uruchom procesor wiadomości, używając tego polecenia:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Jeśli masz więcej niż jeden procesor wiadomości, powtórz te kroki na wszystkich z nich.
Weryfikowanie deduplikacji ciągów znaków w procesorach wiadomości
W tej sekcji dowiesz się, jak sprawdzić, czy deduplikacja ciągów znaków została włączona w procesorach wiadomości.
Mimo że używasz tokena conf_system_useStringDeduplication
do włączania deduplikacji ciągów znaków w procesorze wiadomości, musisz sprawdzić, czy rzeczywista właściwość useStringDeduplication
została ustawiona z nową wartością w ten sposób:
-
Wyszukaj właściwość
useStringDeduplication
w katalogu/opt/apigee/edge-message-processor/conf
i sprawdź, czy została ustawiona nowa wartość. Przykład:grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
Jeśli deduplikacja ciągów znaków jest włączona w procesorze wiadomości, poprzednie polecenie wyświetla nową wartość w pliku
system.properties
.Przykładowy wynik poprzedniego polecenia po włączeniu deduplikacji ciągów znaków w procesorze wiadomości będzie wyglądał tak:
/opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
W przykładowych danych wyjściowych zwróć uwagę, że właściwość
useStringDeduplication
została ustawiona wsystem.properties
z nową wartościątrue
. Wskazuje to, że deduplikacja ciągów znaków została włączona w procesorze wiadomości. -
Jeśli nadal widzisz starą wartość właściwości
useStringDeduplication
, sprawdź, czy zostały poprawnie wykonane wszystkie czynności opisane w artykule Włączanie deduplikacji ciągów znaków w procesorach wiadomości. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie. - Jeśli nadal nie możesz włączyć deduplikacji ciągów znaków, skontaktuj się z zespołem pomocy Apigee.