Przewodnik po operacjach QPID

Edge for Private Cloud w wersji 4.52.01 jest dostarczany z Qpid Broker-J 8.0.6. Na tej stronie opisaliśmy kwestie związane z pamięcią i dyskiem związane z komponentem apigee-qpidd Edge dla Private Cloud (z brokerem opartym na Javie). Poniższe sekcje dotyczą tylko przypadku użycia Qpid w Apigee i wyjaśniają, jak dostroić Qpid za pomocą mechanizmów konfiguracji Apigee.

Qpid w Apigee

W Apigee Qpid jest używany w 2 głównych przepływach pracy:

  • Analityka
  • Zarabianie

W obu tych przepływach pracy procesor wiadomości generuje wiadomości, które są zbierane w partiach i przekazywane do Qpid. W przypadku Analytics wiadomości są odczytywane przez serwer Qpid, a na potrzeby generowania przychodu są odczytywane przez serwer oceny (część serwera zarządzania). Po przeczytaniu wiadomości pogrupowane są w całości i przetwarzane.

W sekcjach poniżej znajdziesz zalecane konfiguracje pamięci i dysku z użyciem Qpid. Te konfiguracje są oparte na pojedynczym rozmiarze wiadomości (2 KB) w przypadku Analytics lub funkcji zarabiania. Przy domyślnym rozmiarze wsadu wynoszącym 50 pikseli każda wiadomość w Qpid będzie miała około 100 KB. Apigee umożliwia serwerom proxy modyfikowanie wiadomości i dodawanie do niej dodatkowych informacji (dotyczących statystyk lub funkcji zarabiania). W skrajnych przypadkach może to znacznie zmienić rozmiar pojedynczej wiadomości i całej wiadomości zbiorczej w Qpid. Chociaż ogólne zalecenia dotyczące pamięci i dysku przedstawione w poniższych sekcjach obowiązują nawet w takich przypadkach, może być konieczne wprowadzenie dodatkowych poprawek do Qpid, aby zapewnić płynną pracę.

Pamięć

Broker Qpid wykorzystuje 2 typy pamięci: pamięć spoza sterty i pamięć sterty. Qpid przechowuje wiadomości w pamięci poza stertą i wykorzystuje pamięć sterty do własnych zadań wewnętrznych, kierowania wiadomości do kolejek i giełd itp. W większości sytuacji Apigee zaleca utrzymanie stosunku 3:1 między pamięcią na stercie a pamięcią sterty dla brokera Qpid.

Wiadomości w pamięci poza stertą są zachowywane na dysku. Dodatkowo, jeśli całkowite wykorzystanie pamięci poza stertą przekroczy określony próg, Qpid zostanie skonfigurowany tak, aby przekazywać wiadomości na dysk.

Domyślnie Apigee oblicza pamięć sterty i spoza sterty brokera Qpid na podstawie dostępnej pamięci w węźle. Skrypty Apigee mają niewielki limit wynoszący 4 GB łącznie dla stosu Qpid Broker i pamięci spoza sterty. Jeśli chcesz zmienić te limity, możesz użyć 2 konfiguracji poniżej, aby ustawić własne wartości dla sterty i pamięci Qpid.

  • Konfiguracja pamięci sterty: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • Konfiguracja pamięci spoza sterty: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

Informacje o zastępowaniu konfiguracji znajdziesz w artykule o zmienianiu konfiguracji Qpid.

Więcej informacji znajdziesz w dokumentacji pamięci Apache Qpid.

Dysk

Katalog danych brokera Qpid to $APIGEE_ROOT/data/apigee-qpidd. Dzienniki brokera Qpid są przechowywane w tym regionie: $APIGEE_ROOT/var/log/apigee-qpidd.

Wydajność systemu plików hostującego katalog danych ma kluczowe znaczenie dla ogólnej wydajności brokera. Aby uzyskać najlepszą wydajność, wybierz urządzenie z krótkim czasem oczekiwania i nieużywane przez inne aplikacje.

Broker Qpid przechowuje swoje komunikaty w katalogu danych. Domyślnie broker przyjmuje wiadomości do momentu zapełnienia w 80% systemu plików, który hostuje katalog danych. Możesz zmodyfikować ten próg, zastępując konfigurację widoczną w przykładzie poniżej w każdym węźle Qpid.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

W tym przykładzie broker odrzuca nowe wiadomości, gdy bazowy system plików jest zapełniony w 60%.

Jak zmienić konfigurację Qpid

Aby zmienić konfigurację Qpid:

  1. Utwórz lub zmodyfikuj ten plik:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. W razie potrzeby dodaj, usuń lub zmodyfikuj konfigurację. Aby na przykład zmienić maksymalną ilość pamięci sterty usługi Qpid Broker na 6 GB, dodaj w pliku to zastąpienie konfiguracji:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. Zapisz zmiany i sprawdź, czy plik należy do użytkownika apigee oraz czy może go odczytać:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Uruchom ponownie proces qpidd:
    Ponowne uruchomienie apigee-service apigee-qpidd