Edge for Private Cloud w wersji 4.53.00 jest dostarczany z Qpid Broker-J w wersji 8.0.6. Na tej stronie opisujemy
dotyczące pamięci i dysku
komponent apigee-qpidd
Edge dla Private Cloud (z brokerem opartym na Javie).
Poniższe sekcje odnoszą się do przypadku użycia Qpid w Apigee i opisują, jak dostosować Qpid za pomocą mechanizmów konfiguracji Apigee.
Qpid w Apigee
W Apigee Qpid jest używany w 2 głównych przepływach pracy:
- Analytics
- Zarabianie
W obu tych procesach usługa Message Processor generuje wiadomości, które są zbierane w partie i przesyłane do Qpid. W przypadku Analytics komunikaty są odczytywane przez serwer Qpid-server; w celu zarabiania, są odczytywane przez serwer ocen (część serwera zarządzania). Po przeczytaniu wiadomości grupowe są sprawdzane i przetwarzane.
Zalecane konfiguracje
W poniższych sekcjach opisano zalecane konfiguracje pamięci i dysku z Qpid. Te konfiguracje są oparte na rozmiarze pojedynczej wiadomości wynoszącym 2 KB w przypadku Analytics lub Monetyzacji. Przy domyślnym rozmiarze partii wynoszącym 50 każda wiadomość w Qpid będzie miała rozmiar około 100 KB. Apigee umożliwia serwerom proxy modyfikowanie wiadomości i dodawanie do niej dodatkowych informacji (Statystyki lub Zarabianie). W skrajnych przypadkach może to znacznie zmienić rozmiar pojedynczą wiadomość i ogólną wiadomość zbiorczą w Qpid. Ogólne rekomendacje dotyczące pamięci i dysku w poniższych sekcjach są ważne również w takich przypadkach, ale aby zapewnić płynne działanie, może być konieczne wprowadzenie dodatkowych poprawek w Qpid.
Pamięć
Broker Qpid korzysta z 2 typów pamięci: pamięci poza stertą i pamięci sterty. Qpid przechowuje wiadomości w poza stertą pamięcią i wykorzystuje ją do własnych zadań wewnętrznych, wiadomości do kolejek i wymian itp. W większości przypadków Apigee zaleca utrzymywanie Współczynnik 3:1 między pamięcią spoza sterty i stertą w przypadku Qpid Broker.
Wiadomości w pamięci poza pamięcią podręczną są przechowywane na dysku. Jeśli ponadto całkowite wykorzystanie pamięci poza pamięcią operacyjną przekroczy pewien określony próg, Qpid zostanie skonfigurowany tak, aby przekierowywać wiadomości na dysk.
Domyślnie Apigee oblicza stertę i pamięć poza stertą maklera Qpid na podstawie dostępnej pamięci w węźle. Skrypty Apigee mają miękki limit 4 GB łącznej pamięci dla stosu i pamięci zewnętrznej Qpid Broker. Jeśli chcesz zastąpić te limity, możesz użyć dwóch konfiguracji opisanych poniżej, aby ustawić własne wartości pamięci stosu i pamięci poza stosem Qpid.
- Konfiguracja pamięci stosu:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
- Konfiguracja pamięci poza pamięcią:
bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m
Więcej informacji o zastępowaniu konfiguracji znajdziesz w artykule Jak zmienić konfigurację Qpid.
Więcej informacji: Dokumentacja Apache Qpid dla pamięci
Dysk
Katalog danych brokera Qpid to $APIGEE_ROOT/data/apigee-qpidd
.
Logi Qpid Broker są przechowywane w regionie $APIGEE_ROOT/var/log/apigee-qpidd
.
Wydajność systemu plików hostującego katalog danych ma kluczowe znaczenie dla wydajności Broker jako całość. Aby uzyskać najlepszą wydajność, wybierz urządzenie, które ma niewielkie opóźnienia i jest nie są wykorzystywane przez inne aplikacje.
Broker Qpid przechowuje wiadomości w katalogu danych. Domyślnie broker będzie akceptować wiadomości do momentu, gdy system plików hostujący katalog danych nie będzie zapełniony w 80%. Możesz to zmienić przez zastąpienie konfiguracji pokazanej 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 wypełniony w 60%.
Jak zmienić konfigurację Qpid
Aby zmienić konfigurację Qpid:
- Utwórz lub zmodyfikuj ten plik:
$APIGEE_ROOT/customer/application/qpidd.properties
- W razie potrzeby dodaj, usuń lub zmodyfikuj konfigurację.
Aby na przykład zmienić maksymalną pamięć stosu Qpid Broker na 6 GB, dodaj w pliku tę konfigurację zastąpienia:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- Zapisz zmiany i upewnij się, że plik należy do użytkownika
apigee
i może go odczytywać:chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- Ponownie uruchom proces
qpidd
:ponowne uruchomienie apigee-service apigee-qpidd