Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon MQ untuk RabbitMQ: Alarm memori tinggi
Amazon MQ untuk RabbitMQ akan meningkatkan alarm memori tinggi ketika penggunaan memori broker, diidentifikasi dengan CloudWatch metrik, melebihi batas memoriRabbitMQMemUsed
, diidentifikasi oleh. RabbitMQMemLimit
Broker RabbitMQ yang telah menaikkan alarm memori tinggi akan memblokir semua klien yang menerbitkan pesan. Broker Anda dapat memasuki loop restart, mengalami sinkronisasi antrian yang dijeda, atau mengembangkan masalah lain yang mempersulit diagnosis dan resolusi alarm.
Untuk mendiagnosis dan mengatasi alarm memori tinggi, pertama-tama ikuti semua praktik terbaik untuk RabbitMQ, lalu selesaikan langkah-langkah berikut.
penting
-
RabbitMQMemLimit
diatur oleh Amazon MQ dan secara khusus disetel mengingat memori yang tersedia untuk setiap jenis instance host. -
Amazon MQ tidak akan me-restart broker yang mengalami alarm memori tinggi dan akan mengembalikan pengecualian untuk operasi
RebootBroker
API selama broker terus menaikkan alarm.
Langkah 1: Diagnosis alarm memori tinggi
Ada dua cara untuk mendiagnosis alarm memori tinggi di Amazon MQ Anda untuk broker RabbitMQ. Kami menyarankan Anda memeriksa konsol web RabbitMQ dan metrik Amazon MQ di. CloudWatch
Mendiagnosis alarm memori tinggi menggunakan konsol web RabbitMQ
Konsol web RabbitMQ dapat menghasilkan dan menampilkan informasi penggunaan memori terperinci untuk setiap node. Anda dapat menemukan informasi ini dengan melakukan hal berikut:
-
Masuk AWS Management Console dan buka konsol web RabbitMQ broker Anda.
-
Pada konsol RabbitMQ, pada halaman Ikhtisar, pilih nama node dari daftar Nodes.
-
Pada halaman detail node, pilih Detail memori untuk memperluas bagian untuk melihat informasi penggunaan memori node.
Informasi penggunaan memori yang disediakan RabbitMQ di konsol web dapat membantu Anda menentukan sumber daya mana yang mungkin menghabiskan terlalu banyak memori dan berkontribusi pada alarm memori tinggi. Untuk informasi selengkapnya tentang detail penggunaan memori yang tersedia melalui konsol web RabbitMQ, lihat Penalaran Tentang Penggunaan Memori
Mendiagnosis alarm memori tinggi menggunakan metrik Amazon MQ
Amazon MQ memungkinkan metrik untuk broker Anda secara default. Anda dapat melihat metrik broker Anda dengan mengakses CloudWatch konsol, atau dengan menggunakan API. CloudWatch Metrik berikut berguna saat mendiagnosis alarm memori tinggi RabbitMQ.
Metrik Amazon MQ CloudWatch | Alasan penggunaan memori tinggi |
---|---|
MessageCount |
Pesan disimpan dalam memori sampai dikonsumsi atau dibuang. Jumlah pesan yang tinggi mungkin menunjukkan pemanfaatan sumber daya yang berlebihan dan dapat menyebabkan alarm memori yang tinggi. |
QueueCount |
Antrian disimpan dalam memori, dan sejumlah besar antrian dapat menyebabkan alarm memori yang tinggi. |
ConnectionCount |
Koneksi klien menggunakan memori, dan terlalu banyak koneksi simultan dapat menyebabkan alarm memori tinggi. |
ChannelCount |
Mirip dengan koneksi, saluran yang dibuat menggunakan setiap koneksi juga disimpan dalam memori node, dan sejumlah besar saluran dapat menyebabkan alarm memori tinggi. |
ConsumerCount |
Untuk setiap konsumen yang terhubung ke broker, sejumlah pesan dimuat dari penyimpanan ke memori sebelum dikirim ke konsumen. Sejumlah besar koneksi konsumen dapat menyebabkan penggunaan memori yang tinggi dan menyebabkan alarm memori yang tinggi. |
PublishRate |
Menerbitkan pesan menggunakan memori broker. Jika tingkat di mana pesan dipublikasikan ke broker terlalu tinggi dan secara signifikan melebihi tingkat di mana broker mengirimkan pesan kepada konsumen, broker mungkin menaikkan alarm memori yang tinggi. |
Langkah 2: Alamat dan cegah alarm memori tinggi
catatan
Mungkin diperlukan waktu hingga beberapa jam agar status RABBITMQ_MEMORY_ALARM dihapus setelah Anda mengambil tindakan yang diperlukan.
Ikuti semua praktik terbaik untuk RabbitMQ sebagai metode pencegahan umum. Untuk setiap kontributor spesifik yang Anda identifikasi, kami merekomendasikan serangkaian tindakan berikut untuk mengatasi dan mencegah alarm memori tinggi RabbitMQ.
Sumber penggunaan memori tinggi | Rekomendasi Amazon MQ untuk menangani | Rekomendasi Amazon MQ untuk mencegah |
---|---|---|
Jumlah pesan | Konsumsi pesan yang dipublikasikan ke antrian, bersihkan pesan dari antrian, atau hapus antrian dari broker Anda. | Aktifkan antrian malas, dan atur atau kurangi batas kedalaman antrian. |
Jumlah antrian | Kurangi jumlah antrian. | Atur atau kurangi batas hitungan antrian. |
Jumlah koneksi | Kurangi jumlah koneksi. | Atur atau kurangi batas jumlah koneksi. |
Jumlah saluran | Kurangi jumlah saluran. | Tetapkan jumlah maksimum saluran per koneksi pada aplikasi klien. |
Jumlah konsumen | Kurangi jumlah konsumen yang terhubung ke broker. | Tetapkan batas pra-pengambilan konsumen kecil. |
Tingkat penerbitan pesan | Kurangi tingkat di mana penerbit mengirim pesan ke broker. | Aktifkan konfirmasi penerbit. |
Tingkat upaya koneksi klien | Kurangi frekuensi di mana klien mencoba untuk terhubung ke broker untuk mempublikasikan atau mengkonsumsi pesan, atau mengkonfigurasi broker. | Gunakan koneksi yang lebih lama untuk mengurangi jumlah dan frekuensi upaya koneksi. |
Setelah alarm memori broker Anda teratasi, Anda dapat meningkatkan jenis instans host Anda ke instance dengan sumber daya tambahan. Untuk informasi tentang cara memperbarui jenis instans broker Anda, lihat UpdateBrokerInput
di Referensi API REST Amazon MQ.
catatan
Anda tidak dapat menurunkan versi broker dari tipe mq.m5.x
instans ke tipe mq.t3.micro
instans. Untuk downgrade, Anda harus menghapus broker Anda dan membuat yang baru.