Edge dla Private Cloud w wersji 4.52.02 jest wyposażona w Qpid Broker-J 8.0.6. Na tej stronie opisano kwestie dotyczące pamięci i dysku w komponencie apigee-qpidd
w Edge dla Private Cloud (z brokerem opartym na języku Java).
Poniższe sekcje dotyczą konkretnego przypadku użycia Apigee Qpid i wyjaśniają, jak dostroić Qpid za pomocą mechanizmów konfiguracyjnych Apigee.
Qpid w Apigee
W Apigee Qpid jest używany w 2 głównych przepływach pracy:
- Analityka
- Generowanie przychodu
W obu tych przepływach pracy procesor wiadomości generuje wiadomości, które są zbierane w partie i przekazywane do Qpid. W przypadku Analytics wiadomości są odczytywane przez serwer Qpid, a na potrzeby generowania przychodu – przez serwer oceny (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 bazują na pojedynczej wiadomości o rozmiarze 2 KB, która służy do generowania statystyk i generowania przychodu. Jeśli domyślny rozmiar wsadu wynosi 50, każda wiadomość w Qpid będzie miała około 100 KB. Apigee umożliwia serwerom proxy modyfikowanie i dodawanie dodatkowych informacji do wiadomości (analizy lub zarabianie). W skrajnych przypadkach może to znacznie zmienić rozmiar jednej wiadomości i ogólnej wiadomości zbiorczej w Qpid. Chociaż ogólne zalecenia dotyczące pamięci i dysku zawarte w poniższych sekcjach obowiązują nawet w takich przypadkach, aby zapewnić płynne działanie, konieczne może być 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 pamięci niesprawnej i wykorzystuje pamięć stosu do własnych zadań wewnętrznych, kierowania wiadomości do kolejek czy giełd itp. W większości przypadków Apigee zaleca zachowanie współczynnika 3:1 między pamięcią poza stosu i na stercie dla Qpid Broker.
Komunikaty 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 jest skonfigurowany tak, by przenosić wiadomości na dysk.
Domyślnie Apigee oblicza stertę i pamięć poza stertą usługi Qpid Broker na podstawie dostępnej pamięci w węźle. Skrypty Apigee mają ograniczony limit 4 GB na stertę i pamięć poza stertą brokera Qpid. Jeśli chcesz zastąpić te limity, możesz użyć dwóch poniższych konfiguracji, aby ustawić własne wartości dla stosu i pamięci zewnętrznej 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 zastępowaniu konfiguracji znajdziesz w sekcji Jak zmienić konfigurację Qpid.
Więcej informacji znajdziesz w dokumentacji serwera 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 jest kluczem do ogólnej wydajności brokera. Aby uzyskać najlepszą wydajność, wybierz urządzenie, które ma niewielkie opóźnienia i nie jest używane przez inne aplikacje.
Broker Qpid przechowuje wiadomości w katalogu danych. Domyślnie broker akceptuje wiadomości, dopóki system plików hostujący katalog danych nie będzie zapełniony w 80%. Możesz zmienić ten próg, zastępując konfigurację przedstawioną w poniższym przykładzie 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 jest zapeł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 zmień konfigurację.
Aby na przykład zmienić maksymalną ilość pamięci stosu Qpid Broker na 6 GB, dodaj w pliku to zastąpienie konfiguracji:
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 odczytać:chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- Ponownie uruchom proces
qpidd
:ponowne uruchomienie apigee-service apigee-qpidd