Przewodnik po operacjach QPID

Edge dla chmury prywatnej w wersji 4.54.00 zawiera Qpid Broker-J 10.0.1. Ta strona zawiera informacje o pamięci i dysku w przypadku komponentu apigee-qpidd Edge dla chmury prywatnej (z brokerem opartym na Javie). Sekcje poniżej dotyczą konkretnie 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 procesach:

  • Analytics
  • Zarabianie

W obu tych przepływach pracy procesor komunikatów generuje komunikaty, które są zbierane w pakiety i przesyłane do Qpid. W przypadku Analytics wiadomości są odczytywane przez serwer Qpid; a w przypadku Zarabiania – przez serwer ocen (część serwera zarządzania). Po odczytaniu wiadomości w pakietach są rozpakowywane i importowane.

W sekcjach poniżej opisujemy zalecane konfiguracje pamięci i dysku w przypadku Qpid. Te konfiguracje są oparte na rozmiarze pojedynczej wiadomości wynoszącym 2 KB w przypadku Analytics lub Zarabiania. Przy domyślnym rozmiarze pakietu wynoszącym 50 każda wiadomość w Qpid będzie miała około 100 KB. Apigee umożliwia proxy modyfikowanie wiadomości i dodawanie do nich dodatkowych informacji (Analytics lub Zarabianie). W skrajnych przypadkach może to znacznie zmienić rozmiar pojedynczej wiadomości i całego pakietu wiadomości w Qpid. Ogólne zalecenia dotyczące pamięci i dysku w sekcjach poniżej obowiązują nawet w takich przypadkach, ale może być konieczne wprowadzenie dodatkowych zmian w Qpid, aby zapewnić płynne działanie.

Pamięć

Qpid Broker używa 2 typów pamięci: pamięci poza stertą i pamięci sterty. Qpid przechowuje wiadomości w pamięci poza stertą, a pamięć sterty wykorzystuje do własnych zadań wewnętrznych, bezpośrednich wiadomości do kolejek i wymian itp. W większości przypadków Apigee zaleca zachowanie proporcji 3:1 między pamięcią poza stertą a pamięcią sterty w przypadku Qpid Broker.

Wiadomości w pamięci poza stertą są trwale przechowywane na dysku. Jeśli całkowite wykorzystanie pamięci poza stertą przekroczy określony próg, Qpid jest skonfigurowany tak, aby przepełniać wiadomości na dysk.

Domyślnie Apigee oblicza pamięć sterty i pamięć poza stertą Qpid Broker na podstawie dostępnej pamięci w węźle. Skrypty Apigee mają miękki limit 4 GB łącznej pamięci sterty i pamięci poza stertą Qpid Broker. Jeśli chcesz zastąpić te limity, możesz użyć 2 konfiguracji poniżej, aby ustawić własne wartości pamięci sterty i pamięci poza stertą Qpid.

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

Informacje o tym, jak zastąpić konfiguracje, znajdziesz w artykule Jak zmienić konfigurację Qpid for.

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

Dysk

Katalog danych Qpid Broker to $APIGEE_ROOT/data/apigee-qpidd. Logi Qpid Broker są przechowywane w $APIGEE_ROOT/var/log/apigee-qpidd.

Wydajność systemu plików, w którym znajduje się katalog danych, ma kluczowe znaczenie dla wydajności brokera jako całości. Aby uzyskać najlepszą wydajność, wybierz urządzenie o niskim opóźnieniu, które nie jest używane przez inne aplikacje.

Qpid Broker przechowuje swoje wiadomości w katalogu danych. Domyślnie broker będzie akceptować wiadomości, dopóki system plików, w którym znajduje się katalog danych, nie będzie zapełniony w 80%. Możesz zmodyfikować ten próg, zastępując konfigurację pokazaną 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 podstawowy system plików jest zapełniony w 60% .

Jak zmienić konfigurację Qpid

Aby zmienić konfigurację Qpid:

  1. Utwórz lub edytuj ten plik:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. W razie potrzeby dodaj, usuń lub zmodyfikuj konfigurację. Aby na przykład zmienić maksymalną pamięć sterty 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 upewnij się, że plik jest własnością użytkownika apigee i że może on go odczytać:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Uruchom ponownie proces qpidd:
    apigee-service apigee-qpidd restart