Edge dla Private Cloud w wersji 4.52.01 jest dostarczana z Qpid Broker-J 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).
Sekcje poniżej dotyczą konkretnie Apigee
Przypadek użycia narzędzia Qpid i wyjaśnienie, jak dostroić go za pomocą mechanizmów konfiguracyjnych Apigee.
Qpid w Apigee
W Apigee Qpid jest używany w 2 głównych przepływach pracy:
- Analytics
- Zarabianie
W obu z tych przepływów pracy procesor wiadomości generuje wiadomości, które są zebrane w grupy i przesłane do systemu 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 opierają się na rozmiarze pojedynczej wiadomości wynoszącej 2 KB w przypadku Analytics lub Zarabianie. Dzięki domyślny rozmiar wsadu to 50, 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 (Statystyki lub Zarabianie). W skrajnych przypadkach może to znacznie zmienić rozmiar pojedynczą wiadomość i ogólną wiadomość zbiorczą w Qpid. Chociaż ogólny zalecenia dotyczące pamięci i dysku opisane w poniższych sekcjach obowiązują nawet w takich przypadkach, może być konieczne wprowadzenie dodatkowych poprawek w Qpid, aby zapewnić płynne działanie.
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.
Komunikaty w pamięci poza stertą są zachowywane na dysku. Ponadto, jeśli całkowite wykorzystanie pamięć poza stertą przekracza określony próg, narzędzie Qpid jest skonfigurowane tak, aby przenosić 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ą limit 4 GB łącznie dla sterty brokera Qpid i niezbędną pamięć. Jeśli chcesz zastąpić te limity, możesz użyć dwóch konfiguracji: poniżej, aby ustawić własne wartości dla stosu i pamięci sterowanej przez 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
Zobacz Jak zmienić konfigurację Qpid dla o zastępowaniu konfiguracji.
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 akceptuje aż system plików hostujący katalog danych 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 system plików bazuje na 60%. pełny.
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 zmień konfigurację.
Aby na przykład zmienić maksymalną ilość pamięci sterty Qpid Broker na 6 GB, dodaj tę konfigurację
zastąp w pliku:
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