Rumah >pangkalan data >Redis >Contoh analisis penyelesaian masalah tamat masa Redis

Contoh analisis penyelesaian masalah tamat masa Redis

WBOY
WBOYke hadapan
2023-05-30 18:31:291082semak imbas

Semasa kami bekerja beberapa hari lalu, kami tiba-tiba menerima makluman bahawa Redis kami telah ranap, dan ramai orang sedang membincangkan tamat masa sambungan Redis tertentu. Saya fikir ada masalah besar pada mulanya, tetapi siapa tahu ia akan pulih selepas beberapa ketika. Pada masa itu, saya log masuk ke pelayan dan menyemak pemantauan. Lihat QPS buat kali pertama:

Contoh analisis penyelesaian masalah tamat masa Redis

Anda boleh melihat bahawa QPS tidak tinggi, tetapi mengapa data tidak diperolehi untuk satu tempoh masa? Kemudian teruskan melihat penggunaan cpu Redis:

Contoh analisis penyelesaian masalah tamat masa Redis

Anda dapat melihat bahawa CPU adalah tepu, yang boleh menjelaskan mengapa graf rosak Kerana redis adalah satu benang, selepas menggunakan 100% CPU, ia tidak boleh memproses arahan lain dan zabbix tidak dapat melaksanakan maklumat. . Arahan diambil daripada qps. Jadi kita sudah tahu bahawa masalah itu disebabkan oleh ketepuan CPU, jadi apa sebabnya? Kemudian teruskan menyemak untuk melihat sama ada terdapat sebarang log yang perlahan semasa tempoh penggunaan CPU yang tinggi:

Contoh analisis penyelesaian masalah tamat masa Redis

Ini nampaknya tidak menjadi punca penggunaan CPU yang tinggi, jadi sukar untuk menyelesaikan masalah. Contoh ini ialah nod induk dan nod hamba. Kemudian izinkan saya melihat penggunaan cpu perpustakaan hamba:

Contoh analisis penyelesaian masalah tamat masa Redis

Sial, apa yang berlaku? Kenapa CPU yang tidak digunakan oleh perpustakaan hamba juga digunakan pada 74%? Bukankah ini saintifik? Tidak mengapa, semak sama ada terdapat sebarang log lambat dari perpustakaan hamba:

Contoh analisis penyelesaian masalah tamat masa Redis

Sial, apa yang sedang berlaku? Tiada siapa yang menggunakan perpustakaan hamba. Semak sama ada ia baca sahaja:

127.0.0.1:6103> CONFIG GET "slave-read-only"
1) "slave-read-only"
2) "yes"
127.0.0.1:6103> 

Ia nampaknya hanya baca sahaja, yang mengelirukan saya. Akhirnya, tiba-tiba saya terfikir bahawa perpustakaan utama mempunyai kunci besar yang telah tamat tempoh pada ketika ini, dan operasi perlahan kunci tamat tempoh dalam perpustakaan utama tidak akan merekodkan log yang perlahan Tamat tempoh kunci perpustakaan hamba dipadamkan oleh perpustakaan utama yang memulakan arahan DEL. Pada masa ini, perpustakaan hamba akan merekodkan log perlahan Dari log perlahan di atas, anda boleh melihat bahawa operasi DEL maksimum ialah 335ms.

Gunakan maklumat perintah commandstats sekali lagi untuk melihat:

Contoh analisis penyelesaian masalah tamat masa Redis


Atas ialah kandungan terperinci Contoh analisis penyelesaian masalah tamat masa Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam