Timeout koneksi pada Tair (kompatibel dengan Redis OSS) paling sering disebabkan oleh perintah yang lambat. Log kueri lambat mengidentifikasi perintah yang melebihi ambang batas latensi Anda dan klien yang mengirimnya, sehingga memberikan titik awal untuk optimasi.
Cara kerja
Log kueri lambat merekam perintah yang memerlukan waktu eksekusi lebih lama daripada ambang batas yang dikonfigurasi. Tair menghasilkan log kueri lambat pada dua jenis node, masing-masing mengukur latensi secara berbeda:
| Jenis node | Apa yang diukur oleh durasi eksekusi | Disarankan untuk troubleshooting timeout |
|---|---|---|
| Data node | Waktu untuk menjalankan perintah hanya pada data node. Tidak termasuk waktu transmisi jaringan dan waktu tunggu antrian. | Tidak — gunakan sebagai referensi sekunder |
| Proxy node | Waktu sejak proxy mengirim permintaan ke data node hingga menerima respons. Termasuk waktu eksekusi data node, transmisi jaringan, dan latensi antrian. | Ya — paling mendekati latensi yang diamati aplikasi Anda |
Instans Standard tidak memiliki log kueri lambat pada proxy node. Jika Anda menggunakan instans Standard, langsung lanjutkan ke langkah 3 dan analisis log kueri lambat pada data node.
Metode yang dijelaskan dalam topik ini tidak didukung untuk instans Redis Edisi Open-Source 2.8. Di Konsol, buka CloudDBA > Slow Queries untuk melihat log kueri lambat instans tersebut. Log kueri lambat untuk instans Redis Edisi Open-Source 2.8 tidak menyertakan alamat IP klien.
Retensi dan penyimpanan log lambat
Log kueri lambat baik pada data node maupun proxy node disimpan selama 72 jam, tanpa batasan jumlah entri yang disimpan.
Dalam kebanyakan kasus, hanya sedikit log kueri lambat yang dihasilkan pada data node karena performa instans yang tinggi.
Parameter
Parameter data node
| Parameter | Bawaan | Unit | Deskripsi |
|---|---|---|---|
slowlog-log-slower-than | 20000 | Mikrodetik | Perintah yang melebihi ambang batas ini akan direkam. 20.000 mikrodetik setara dengan 20 milidetik. Latensi yang teramati biasanya lebih tinggi karena nilai ini tidak mencakup waktu jaringan dan antrian. |
slowlog-max-len | 1024 | Entri | Jumlah maksimum entri log lambat yang disimpan. |
Parameter node proksi
| Parameter | Bawaan | Unit | Deskripsi |
|---|---|---|---|
rt_threshold_ms | 500 | Milidetik | Perintah yang melebihi ambang batas ini akan direkam. Atur nilai ini mendekati periode timeout klien Anda (200–500 ms). |
Untuk menyesuaikan parameter ini, lihat Configure instance parameters.
Kueri log lambat
Log kueri lambat data node
Gunakan salah satu metode berikut:
Jalankan
SLOWLOG GETdari klien Redis. Lihat referensi perintah SLOWLOG untuk sintaksisnya.Lihat log di Konsol atau panggil API: Query slow logs | DescribeSlowLogRecords
Log kueri lambat proxy node
Lihat log di Konsol atau panggil API: Query slow logs | DescribeSlowLogRecords
Troubleshooting masalah timeout
Ikuti langkah-langkah berikut untuk mengidentifikasi perintah yang menyebabkan timeout:
Periksa log kueri lambat proxy node. Buka Query slow logs di Konsol dan pilih tab Proxy.
Jika tidak ada log kueri lambat proxy node, kemungkinan besar masalahnya terletak pada jaringan antara klien dan instans, bukan pada eksekusi perintah.
Untuk instans Standard, lewati ke langkah 3.
Temukan entri log kueri lambat paling awal pada proxy node. Entri paling awal mengidentifikasi perintah yang memicu rangkaian permintaan lambat. Alamat IP klien dalam entri tersebut menunjukkan klien yang mengirim perintah tersebut. Pada contoh berikut, entri log kueri lambat paling awal adalah untuk perintah
KEYS. Alamat IP di sisi kanan entri tersebut adalah klien yang mengirimnya.CatatanSaat perintah lambat menumpuk pada data node, perintah tersebut juga muncul dalam log kueri lambat proxy node.

Verifikasi perintah tersebut dalam log kueri lambat data node. Beralihlah ke tab Data nodes dan periksa apakah perintah yang sama muncul di sana. Perintah yang pertama kali muncul dalam log kueri lambat proxy node biasanya juga muncul dalam log kueri lambat data node. Log kueri lambat data node umumnya berisi lebih sedikit entri dibandingkan log kueri lambat proxy node karena kedua jenis node menggunakan definisi dan ambang batas pengukuran waktu yang berbeda. Pada contoh berikut, perintah
KEYSyang muncul dalam log kueri lambat proxy node juga muncul dalam log kueri lambat data node. Tidak ada entri proxy node lain yang sesuai dengan entri data node. Hal ini mengonfirmasi bahwa perintahKEYSmenyebabkan timeout.
Cari alamat IP klien dalam log kueri lambat proxy node. Gunakan perintah yang diidentifikasi pada langkah 2 untuk memfilter entri dan temukan semua klien yang mengirim perintah tersebut. Hubungi tim yang bertanggung jawab atas klien-klien tersebut untuk mengoptimalkan penggunaan perintahnya.
Langkah selanjutnya
Configure instance parameters — sesuaikan ambang batas log kueri lambat
Query slow logs — lihat log kueri lambat di Konsol
DescribeSlowLogRecords — ambil log kueri lambat melalui API