Wawasan Latensi adalah fitur CloudDBA yang melacak waktu eksekusi seluruh perintah Redis dan hingga 27 event internal dalam instans Tair (kompatibel dengan Redis OSS). Statistiknya akurat hingga mikrodetik dan disimpan selama tiga hari, sehingga berguna baik untuk diagnosis real-time maupun analisis retrospektif lonjakan latensi.
Cara kerja
Redis 2.8.13 memperkenalkan pemantauan latensi bawaan. Fitur ini mencakup kumpulan event terbatas, menyimpan data hanya selama 160 detik, dan merekam satu catatan per detik (event dengan latensi tertinggi).
Wawasan Latensi memperluas kemampuan tersebut dengan:
Persistensi — data disimpan selama tiga hari dan lonjakan latensi dapat dilacak sepanjang periode tersebut
Presisi tinggi — semua event dipantau dengan ketelitian hingga milidetik.
Overhead rendah — diimplementasikan secara asinkron dengan dampak minimal terhadap performa instans
Kueri real-time — data tersedia untuk kueri dan agregasi segera
Dimensi analisis ganda — potong data berdasarkan jenis event, rentang waktu, atau nilai latensi
Hanya perintah dan event yang melebihi ambang batas tertentu yang direkam. Ambang batas bervariasi berdasarkan jenis event (30 ms, 50 ms, atau 100 ms). Lihat Lampiran: Event khusus umum untuk daftar lengkapnya.
Prasyarat
Sebelum memulai, pastikan bahwa:
Versi minor instans memenuhi persyaratan minimum untuk edisi Anda. Untuk petunjuk memperbarui versi minor, lihat Perbarui versi minor instans.
Edition Minimum minor version Notes Tair (Enterprise Edition) memory-optimized 1.6.9 Untuk statistik perintah modul Tair, gunakan versi 1.7.28 atau lebih baru Redis Open-Source Edition 5.0 5.1.4 Redis Open-Source Edition 6.0 0.1.15 Redis Open-Source Edition 7.0 7.0.0.6
Penagihan
Wawasan Latensi tidak dikenai biaya.
Lihat statistik latensi
Masuk ke konsol dan buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans Anda dideploy. Temukan instans tersebut dan klik ID-nya.
Di panel navigasi kiri, klik CloudDBA > Latency Insights.
Di halaman Latency Insights, pilih rentang waktu dan klik Search. Tampilan default menampilkan statistik dari 5 menit terakhir. Kueri dapat mencakup data hingga tiga hari, tetapi satu kueri tidak boleh mencakup lebih dari satu jam. Untuk instans kluster dan instans dengan pemisahan baca/tulis, gunakan tab Data Node dan Proxy Node untuk melihat statistik secara terpisah berdasarkan jenis node.
Klik nama event atau jumlah pada daftar untuk membuka grafik tren latensinya. Di grafik tersebut, pilih metrik tambahan untuk menampilkan trennya secara bersamaan.

Hanya perintah dan event yang melebihi ambang batas yang dikonfigurasi yang direkam. Jika Anda melihat event dengan latensi tinggi, lihat Saran penanganan event latensi umum untuk panduan remediasi.
Referensi metrik
Tabel Wawasan Latensi menampilkan kolom-kolom berikut:
| Metric | Description |
|---|---|
| Event | Nama event. Contoh: ExpireCycle, EventLoop, Ping, Scan, Commands, Info. Lihat Lampiran: Event khusus umum. |
| Total | Jumlah total kejadian yang terekam. |
| Average Latency (us) | Rata-rata latensi dari seluruh kejadian yang terekam, dalam mikrodetik. |
| Maximum Latency (us) | Latensi tertinggi yang teramati, dalam mikrodetik. |
| Aggregated count (< 1 ms) | Jumlah event dengan latensi di bawah 1 ms. Klik ikon |
| \<2 ms, \<4 ms, ..., >33s | Jumlah event dalam setiap rentang latensi. |
Aturan penghitungan: Setiap rentang eksklusif pada batas bawah dan inklusif pada batas atas. Misalnya, \<2 us menghitung event dengan latensi antara 1 us dan 2 us. \<2 ms menghitung event dengan latensi antara 1 ms dan 2 ms. >33s menghitung event dengan latensi di atas 33 detik.
Langkah selanjutnya
Saran penanganan event latensi umum — langkah remediasi untuk setiap jenis event
Perbarui versi minor instans — perbarui instans agar memenuhi persyaratan versi
Lampiran: Event khusus umum
Event dikelompokkan berdasarkan subsistem Redis tempat event tersebut terkait. Kolom ambang batas menunjukkan latensi minimum yang memicu perekaman.
Eviksi memori
| Event | Threshold | Description |
|---|---|---|
| EvictionDel | 30 ms | Waktu untuk menghapus kunci yang dievikt dalam satu siklus eviksi. |
| EvictionLazyFree | 30 ms | Waktu yang dibutuhkan thread latar belakang untuk melepaskan memori dalam satu siklus eviksi. |
| EvictionCycle | 30 ms | Waktu total untuk satu siklus eviksi, termasuk pemilihan kunci, penghapusan, dan menunggu thread latar belakang. |
Defragmentasi memori
| Event | Threshold | Description |
|---|---|---|
| ActiveDefragCycle | 100 ms | Waktu untuk menjalankan satu siklus defragmentasi memori. |
Rehash
| Event | Threshold | Description |
|---|---|---|
| Rehash | 100 ms | Waktu untuk menyelesaikan rehash tabel hash. |
Peningkatan struktur data
| Event | Threshold | Description |
|---|---|---|
| ZipListConvertHash | 30 ms | Waktu untuk mengonversi ziplist menjadi dictionary menggunakan encoding hash. |
| IntsetConvertSet | 30 ms | Waktu untuk mengonversi intset menjadi set menggunakan encoding set. |
| ZipListConvertZset | 30 ms | Waktu untuk mengonversi ziplist menjadi skiplist menggunakan encoding ziplist. |
Append-only file (AOF)
| Event | Threshold | Description |
|---|---|---|
| AofWriteAlone | 30 ms | Waktu untuk menulis AOF dalam kondisi normal. |
| AofWrite | 30 ms | Waktu total untuk menulis AOF. Setiap penulisan AOF yang berhasil mencatat event ini bersamaan dengan tepat satu dari: AofWriteAlone, AofWriteActiveChild, atau AofWritePendingFsync. |
| AofFstat | 30 ms | Waktu untuk mengambil metadata file AOF. |
| AofRename | 30 ms | Waktu untuk mengganti nama file AOF. |
| AofReWriteDiffWrite | 30 ms | Waktu yang dibutuhkan proses induk untuk menulis data AOF inkremental setelah proses anak menyelesaikan penulisan ulang AOF. |
| AofWriteActiveChild | 30 ms | Waktu untuk menulis data AOF ke disk saat proses anak lain juga sedang menulis. |
| AofWritePendingFsync | 30 ms | Waktu untuk menulis data AOF saat proses latar belakang sedang menjalankan fsync. |
File RDB
| Event | Threshold | Description |
|---|---|---|
| RdbUnlinkTempFile | 50 ms | Waktu untuk menghapus file RDB sementara setelah proses anak bgsave keluar. |
Event lainnya
| Event | Threshold | Description |
|---|---|---|
| Commands | 30 ms | Waktu untuk menjalankan perintah yang tidak ditandai sebagai fast. |
| FastCommand | 30 ms | Waktu untuk menjalankan perintah yang ditandai fast dengan kompleksitas O(1) atau O(log N). Untuk daftar perintah fast, lihat bagian FastCommands. |
| EventLoop | 50 ms | Waktu untuk menyelesaikan satu iterasi loop peristiwa utama. |
| Fork | 100 ms | Waktu untuk memanggil fork(). |
| Transaction | 50 ms | Waktu eksekusi transaksi. |
| PipeLine | 50 ms | Waktu yang dikonsumsi oleh pipeline multi-threaded. |
| ExpireCycle | 30 ms | Waktu untuk memindai dan membersihkan kunci yang kedaluwarsa dalam satu siklus. |
| ExpireDel | 30 ms | Waktu untuk menghapus kunci yang kedaluwarsa dalam satu siklus kedaluwarsa. |
| SlotRdbsUnlinkTempFile | 30 ms | Waktu untuk menghapus file RDB sementara slot setelah proses anak bgsave keluar. |
| LoadSlotRdb | 100 ms | Waktu untuk memuat file RDB dari sebuah slot. |
| SlotreplTargetcron | 50 ms | Waktu untuk memuat file RDB slot ke database sementara dan memigrasikannya ke database tujuan menggunakan proses anak. |