Włącz usuwanie duplikatów ciągów w procesorach wiadomości

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

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:

  1. Znajdowanie tokena dla właściwości useStringDeduplication
  2. 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:

  1. 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
    
  2. 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ści useStringDeduplication 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:

  1. 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
    
  2. Dodaj do tego pliku ten wiersz:
    conf_system_useStringDeduplication=true
    
  3. Zapisz zmiany.
  4. 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
    
  5. Ponownie uruchom procesor wiadomości, używając tego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. 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:

  1. 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
    
  2. 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 w system.properties z nową wartością true. Wskazuje to, że deduplikacja ciągów znaków została włączona w procesorze wiadomości.

  3. 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.
  4. Jeśli nadal nie możesz włączyć deduplikacji ciągów znaków, skontaktuj się z zespołem pomocy Apigee.

Co dalej?

Włączanie G1GC w procesorach wiadomości