Edge for Private Cloud versi 4.54.00 dilengkapi dengan Qpid Broker-J 10.0.1. Halaman ini menjelaskan pertimbangan memori dan disk untuk komponen apigee-qpidd Edge for Private Cloud (dengan Broker berbasis Java).
Bagian di bawah berlaku khusus untuk kasus penggunaan Qpid Apigee dan menjelaskan cara menyesuaikan Qpid menggunakan mekanisme konfigurasi Apigee.
Qpid di Apigee
Di Apigee, Qpid digunakan dalam dua alur kerja utama:
- Analytics
- Monetisasi
Dalam kedua alur kerja ini, Message Processor menghasilkan pesan, yang dikumpulkan ke dalam batch dan dikirim ke Qpid. Untuk Analytics, pesan dibaca oleh Qpid-server; untuk Monetisasi, pesan dibaca oleh Rating Server (bagian dari management-server). Setelah dibaca, pesan dalam batch akan dipisahkan dan diserap.
Konfigurasi yang direkomendasikan
Bagian berikut menjelaskan konfigurasi yang direkomendasikan untuk memori dan disk dengan Qpid. Konfigurasi ini didasarkan pada ukuran pesan tunggal sebesar 2 KB untuk Analytics atau Monetisasi. Dengan ukuran batch default 50, setiap pesan di Qpid akan berukuran sekitar 100 kb. Apigee memungkinkan proxy mengubah dan menambahkan informasi tambahan ke pesan (Analytics atau Monetisasi). Dalam kasus ekstrem, hal ini dapat mengubah ukuran satu pesan dan keseluruhan pesan dalam batch di Qpid secara signifikan. Meskipun rekomendasi umum mengenai memori dan disk di bagian di bawah ini tetap berlaku bahkan dalam kasus seperti itu, Anda mungkin perlu melakukan penyesuaian tambahan pada Qpid untuk memastikan kelancaran operasi.
Memori
Qpid Broker menggunakan dua jenis memori: memori off-heap dan memori heap. Qpid menyimpan pesan dalam memori off-heap, dan menggunakan memori heap untuk tugas internalnya sendiri, mengarahkan pesan ke antrean dan pertukaran, dll. Dalam sebagian besar situasi, Apigee merekomendasikan agar Anda mempertahankan rasio 3:1 antara memori off-heap dan heap untuk Broker Qpid.
Pesan dalam memori off-heap akan tetap ada di disk. Selain itu, jika total pemakaian memori off-heap melanggar batas tertentu, Qpid dikonfigurasi untuk meluapkan pesan ke disk.
Secara default, Apigee menghitung memori heap dan off-heap Qpid Broker berdasarkan memori yang tersedia pada node. Skrip Apigee memiliki batas sementara sebesar 4 GB yang digabungkan untuk memori heap dan off-heap Qpid Broker. Jika ingin mengganti batas ini, Anda dapat menggunakan dua konfigurasi di bawah untuk menetapkan nilai Anda sendiri untuk memori heap dan off-heap Qpid.
- Konfigurasi untuk memori heap:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m - Konfigurasi untuk memori di luar heap:
bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m
Lihat Cara mengubah konfigurasi Qpid untuk mengetahui informasi tentang cara mengganti konfigurasi.
Untuk mengetahui informasi selengkapnya, lihat Referensi Apache Qpid untuk Memori.
Disk
Direktori data Qpid Broker adalah $APIGEE_ROOT/data/apigee-qpidd.
Log Qpid Broker disimpan di $APIGEE_ROOT/var/log/apigee-qpidd.
Performa sistem file yang menghosting direktori data sangat penting untuk performa Broker secara keseluruhan. Untuk performa terbaik, pilih perangkat yang memiliki latensi rendah dan tidak digunakan oleh aplikasi lain.
Qpid Broker menyimpan persisten pesannya di direktori data. Secara default, Broker akan menerima pesan hingga sistem file yang menghosting direktori data terisi 80%. Anda dapat mengubah nilai minimum ini dengan mengganti konfigurasi yang ditunjukkan dalam contoh di bawah pada setiap node Qpid.
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
Dalam contoh ini, Broker menolak pesan baru saat sistem file yang mendasarinya penuh 60%.
Cara mengubah konfigurasi Qpid
Untuk mengubah konfigurasi Qpid:
- Buat atau edit file berikut:
$APIGEE_ROOT/customer/application/qpidd.properties
- Tambahkan, hapus, atau ubah konfigurasi sesuai kebutuhan.
Misalnya, untuk mengubah memori heap maksimum Qpid Broker menjadi 6 GB, tambahkan penggantian konfigurasi berikut
dalam file:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- Simpan perubahan dan pastikan file dimiliki dan dapat dibaca oleh pengguna
apigee:chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- Mulai ulang proses
qpidd:apigee-service apigee-qpidd restart