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

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

Z tego dokumentu dowiesz się, jak włączyć deduplikację ciągów znaków w procesorach wiadomości Apigee Edge.

Deduplikacja ciągów znaków to funkcja języka Java, która pomaga oszczędzać pamięć zajmowaną przez zduplikowane obiekty String w aplikacjach Java. Zmniejsza ona wykorzystanie pamięci przez obiekty String w stercie pamięci Java, ponieważ zduplikowane lub identyczne wartości String współdzielą tę samą tablicę znaków.

Procesor komunikatów Apigee Edge to komponent oparty na języku Java. Używanie deduplikacji ciągów znaków w procesorze komunikatów może zwiększyć wydajność serwerów proxy interfejsu API, zmniejszając wykorzystanie 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 odśmiecania pamięci G1 (G1GC) w aplikacjach Java. Jeśli chcesz włączyć tę funkcję w procesorze komunikatów, musisz mieć już włączony moduł G1GC lub włączyć zarówno G1GC, jak i deduplikację ciągów znaków w procesorze komunikatów.

Zanim zaczniesz

Włączanie deduplikacji ciągów znaków w procesorach wiadomości

Z tej sekcji dowiesz się, jak włączyć funkcję deduplikacji ciągów znaków w procesorach wiadomości Edge Procesory. Deduplikację ciągów znaków można włączyć za pomocą właściwości useStringDeduplication w komponencie procesora komunikatów. Domyślnie ta właściwość jest ustawiona na false w procesorach wiadomości. 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. Znajdź token dla właściwości useStringDeduplication.
  2. Włącz useStringDeduplication w procesorze komunikatów.

Znajdowanie tokena dla właściwości useStringDeduplication

Poniższe kroki pokazują, jak znaleźć token dla właściwości useStringDeduplication:

  1. Wyszukaj właściwość useStringDeduplication w katalogu źródłowym procesora komunikatów /opt/apigee/edge-message-processor/source za pomocą tego polecenia:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
  2. Wynik tego polecenia pokazuje token dla właściwości procesora wiadomości useStringDeduplication w ten sposób:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}

    Ciąg znaków między tagami {T}{/T} to nazwa tokena, który możesz ustawić w pliku .properties procesora wiadomości. Token dla właściwości useStringDeduplication wygląda więc tak:

    conf_system_useStringDeduplication

Włączanie deduplikacji ciągów znaków w procesorach wiadomości

Poniższe kroki pokazują, jak włączyć deduplikację ciągów znaków w procesorach wiadomości Apigee:

  1. Otwórz w edytorze plik /opt/apigee/customer/application/message-processor.properties na maszynie procesora komunikatów. Jeśli plik nie istnieje, utwórz go. Na 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 właścicielem tego pliku właściwości jest użytkownik apigee. Na przykład:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Uruchom ponownie procesor komunikatów za pomocą tego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Jeśli masz więcej niż jeden procesor komunikatów, powtórz te czynności na wszystkich procesorach komunikatów.

Sprawdzanie deduplikacji ciągów znaków w procesorach wiadomości

Z tej sekcji dowiesz się, jak sprawdzić, czy deduplikacja ciągów znaków została prawidłowo włączona w procesorach wiadomości.

Mimo że do włączenia deduplikacji ciągów znaków w procesorze komunikatów używasz tokena conf_system_useStringDeduplication, musisz sprawdzić, czy rzeczywista właściwość useStringDeduplication została ustawiona na nową wartość w ten sposób:

  1. Wyszukaj właściwość useStringDeduplication w katalogu /opt/apigee/edge-message-processor/conf i sprawdź, czy została ustawiona na nową wartość. Na przykład:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
  2. Jeśli deduplikacja ciągów znaków została prawidłowo włączona w procesorze komunikatów, poprzednie polecenie wyświetli nową wartość w pliku system.properties.

    Przykładowy wynik poprzedniego polecenia po włączeniu deduplikacji ciągów znaków w procesorze komunikatów:

    /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true

    W przykładowym wyniku zwróć uwagę, że właściwość useStringDeduplication została ustawiona na nową wartość true w pliku system.properties. Oznacza to, że deduplikacja ciągów znaków została prawidłowo włączona w procesorze komunikatów.

  3. Jeśli nadal widzisz starą wartość właściwości useStringDeduplication, sprawdź, czy prawidłowo wykonano wszystkie czynności opisane w sekcji Włączanie deduplikacji ciągów znaków w procesorach wiadomości. Jeśli pominiesz jakiś krok, powtórz wszystkie czynności.
  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 modułu G1GC w procesorach wiadomości