“Setup Maximum RabbitMQ connection”
Daftar Isi
Pengantar
RabbitMQ adalah broker pesan yang banyak digunakan dan ringan. Ini mendukung beberapa protokol perpesanan dan dapat digunakan baik di tempat maupun di infrastruktur cloud. RabbitMQ dapat digunakan sebagai cluster untuk ketersediaan dan throughput tinggi dan memiliki dukungan untuk federasi di berbagai zona dan wilayah ketersediaan.
Faktor-Faktor yang Mempengaruhi Maksimal Koneksi RabbitMQ
-
Konfigurasi RabbitMQ (
rabbitmq.conf
) -
Batasan Sistem Operasi (Linux)
-
File descriptors (FDs) adalah yang paling penting. Setiap koneksi menggunakan minimal 1 FD.
-
Default limit di Linux biasanya hanya 1024 FD/user, tapi RabbitMQ sering butuh ribuan.
-
-
-
Koneksi yang idle = ringan.
-
Koneksi aktif + banyak pesan = beban tinggi.
-
Contoh: Server 4-core 8GB RAM bisa menampung 10.000 – 50.000 koneksi idle.
-
-
Plugin & Mode
-
Jika pakai plugin seperti MQTT, Web STOMP, dsb, ada overhead tambahan per koneksi.
-
Setup Maximum RabbitMQ connection
Jika anda menggunakan OS linux untuk server RabbitMQ Cek dengan command:
ulimit -n
Cara Mengecek Koneksi Saat Ini
Langkah-langkah Menambahkan di /etc/security/limits.conf
-
Buka file
limits.conf
sebagai root: - Tambahkan baris berikut di akhir file:
rabbitmq soft nofile 65536
rabbitmq hard nofile 65536
-
-
soft
: limit default saat login. -
hard
: limit maksimum yang bisa dinaikkan.
-
-
Simpan dan keluar.
Tambahan (kalau RabbitMQ dijalankan via systemd)
- Buat/override konfigurasi systemd RabbitMQ:
sudo systemctl edit rabbitmq-server
Masukkan baris berikut:
[Service]
LimitNOFILE=65536
Reload systemd dan restart RabbitMQ:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart rabbitmq-server
2. Setelah RabbitMQ jalan kembali, cek limit dengan:
cat /proc/$(pgrep -u rabbitmq beam.smp)/limits | grep “Max open files”
Max open files 65536 65536 files
Penutup
Sahabat Blog Learning & Doing demikianlah penjelasan mengenai Setup Maximum RabbitMQ connection. Semoga Bermanfaat . Sampai ketemu lagi di postingan berikut nya.