Log perlahan ialah sistem log yang digunakan oleh Redis untuk merekod permintaan arahan yang masa pelaksanaan pertanyaannya melebihi masa tertentu. Masa pelaksanaan pertanyaan merujuk kepada masa yang dihabiskan untuk melaksanakan perintah pertanyaan, tidak termasuk operasi IO seperti tindak balas pelanggan (bercakap) dan menghantar balasan. Di samping itu, log perlahan disimpan dalam memori dan kelajuan baca dan tulis sangat pantas, jadi anda boleh menggunakannya dengan yakin dan tidak perlu risau tentang merosakkan kelajuan Redis dengan menghidupkan log perlahan.
Konfigurasi pelayan mempunyai dua pilihan yang berkaitan dengan log pertanyaan perlahan:
slowlog-log-slower- than: option menentukan permintaan arahan yang masa pelaksanaannya melebihi bilangan mikrosaat (1 saat bersamaan dengan 1,000,000 mikrosaat) akan direkodkan dalam log. Contohnya, jika nilai pilihan ini ialah 100, maka perintah yang mengambil masa lebih daripada 100 mikrosaat untuk dilaksanakan akan direkodkan dalam log pertanyaan perlahan jika nilai pilihan ini ialah 500, maka perintah yang mengambil masa lebih daripada 500 mikrosaat untuk dilaksanakan; akan dilog masuk ke log pertanyaan perlahan dan seterusnya.
Pilihan slowlog-max-len digunakan untuk menentukan bilangan maksimum log pertanyaan perlahan yang disimpan oleh pelayan. Pelayan menggunakan kaedah masuk dahulu, keluar dahulu untuk menyimpan berbilang log pertanyaan perlahan: Apabila bilangan log pertanyaan perlahan yang disimpan oleh pelayan adalah sama dengan nilai pilihan slowlog-max-len, pelayan akan menambah terlebih dahulu log pertanyaan lambat tertua sebelum menambah log pertanyaan lambat baharu Log pertanyaan lambat dipadamkan. Sebagai contoh, jika nilai slowlog-max-len pelayan ialah 100, dan dengan mengandaikan bahawa pelayan telah menyimpan 100 log pertanyaan perlahan, maka jika pelayan berhasrat untuk menambah log baharu, ia mesti memadam log tertua yang disimpan pada masa ini terlebih dahulu. .
Mari kita lihat contoh fungsi log pertanyaan perlahan Mula-mula, gunakan arahan CONFIG_SET untuk menetapkan nilai pilihan slowlog-log-slower-daripada 0 mikrosaat, supaya sebarang arahan dilaksanakan oleh. Pelayan Redis akan direkodkan dalam log pertanyaan perlahan, kemudian tetapkan nilai pilihan slowlog-max-len kepada 5, supaya pelayan hanya boleh menyimpan sehingga 5 log pertanyaan perlahan:
redis> CONFIG SET slowlog-log-slower-than 0 OK redis> CONFIG SET slowlog-max-len 5 OK
Seterusnya, kami menggunakan klien untuk menghantar beberapa permintaan arahan:
redis> SET msg "hello world"OK redis> SET number 10086 OK redis> SET database "Redis"OK
Kemudian gunakan arahan SLOWLOG GET untuk melihat log pertanyaan perlahan yang disimpan oleh pelayan:
redis> SLOWLOG GET 1) 1) (integer) 4 #日志的唯一标识符(uid); 2) (integer) 1378781447 #命令执行时的UNIX时间戳; 3) (integer) 13 #命令执行的时长,以微秒计算; 4) 1) "SET" #命令以及命令参数; 2) "database" 3) "Redis"2) 1) (integer) 3 2) (integer) 1378781439 3) (integer) 10 4) 1) "SET" 2) "number" 3) "10086"3) 1) (integer) 2 2) (integer) 1378781436 3) (integer) 18 4) 1) "SET" 2) "msg" 3) "hello world"4) 1) (integer) 1 2) (integer) 1378781425 3) (integer) 11 4) 1) "CONFIG" 2) "SET" 3) "slowlog-max-len" 4) "5"5) 1) (integer) 0 2) (integer) 1378781415 3) (integer) 53 4) 1) "CONFIG" 2) "SET" 3) "slowlog-log-slower-than" 4) "0"
Jika kami melaksanakan satu lagi arahan SLOWLOG GET 1 di kali ini, kita akan melihat yang terakhir dilaksanakan SLOWLOG GET Perintah telah direkodkan dalam log pertanyaan perlahan, dan log pertanyaan lambat tertua bernombor 0 telah dipadamkan Bilangan log pertanyaan lambat pada pelayan masih 5:
redis> SLOWLOG GET 1 1) 1) (integer) 5 2) (integer) 1378781521 3) (integer) 61 4) 1) "SLOWLOG" 2) "GET"
ID unik log hanya dalam Ia hanya akan ditetapkan semula apabila pelayan Redis dimulakan semula, yang boleh mengelakkan pemprosesan log berulang (contohnya, anda mungkin mahu menghantar e-mel untuk memberitahu anda setiap kali pertanyaan lambat ditemui).
Gunakan arahan SLOWLOG LEN untuk melihat bilangan log semasa.
Sila ambil perhatian perbezaan antara nilai ini dan slower-max-len Satu ialah bilangan log semasa, dan satu lagi ialah bilangan maksimum log yang dibenarkan untuk direkodkan.
redis> SLOWLOG LEN (integer) 5
Gunakan arahan SLOWLOG RESET untuk mengosongkan log perlahan.
rreeeeAtas ialah kandungan terperinci Cara menggunakan log pertanyaan lambat Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!