- Redis Inc mengguncang kepercayaan komunitas dengan keputusan menutup sumber (beralih ke SSPL), tetapi komunitas pengembang berkumpul di sekitar fork Valkey dan terus mendorong inovasi serta kontribusi yang aktif
- Redis 8.0 kembali menjadi open source, dan pendirinya Antirez ikut kembali berpartisipasi dalam fitur baru serta optimasi, sehingga kedua kubu sama-sama menunjukkan perkembangan yang cepat
- Menurut hasil benchmark terbaru, Valkey 8.1.1 pada lingkungan 8vCPU mencatat performa SET 37% lebih tinggi dibanding Redis 8.0, dengan latensi p99 yang juga lebih rendah (performa GET juga unggul 16%)
- Dengan teknik tuning nyata seperti thread IO dan core pinning, Valkey mencapai peningkatan throughput lebih dari 3x di lingkungan multithreading sekaligus meminimalkan latensi
- Benchmark yang lebih mendekati lingkungan produksi serta praktik tuning juga dibagikan, termasuk hal-hal yang perlu diperhatikan saat menafsirkan hasil benchmark dan cara menerapkannya di lingkungan operasional nyata
Penutupan sumber Redis dan kemunculan Valkey
- Setahun lalu, Redis Inc (dahulu Garantia Data) merusak hubungan kepercayaan dengan komunitas melalui perubahan lisensi open source (mengadopsi SSPL)
- Sebagai solusi atas hal ini, fork terbuka Valkey lahir dan menjadi aset teknologi yang digunakan luas untuk sistem terdistribusi, cache, dan pemrosesan data real-time
- Di sisi Redis, upaya pemulihan kepercayaan juga dilakukan melalui kembalinya Antirez (pendiri), penguatan performa/fitur, dan kembalinya Redis 8.0 ke open source
Valkey 8.1 vs Redis 8.0: perbandingan performa
- Benchmark SET dilakukan pada kondisi yang sama: instance AWS c8g.2xl 8vCPU, item 1KB/3M keyspace/500 koneksi
- Valkey 8.1.1: 999.8K RPS(p99 0.8ms)
- Redis 8.0: 729.4K RPS(p99 0.99ms)
- Valkey 37% lebih tinggi pada SET, 16% lebih tinggi pada GET, dan lebih cepat 30% pada SET p99 serta 60% pada GET p99
- Saat memakai 6 thread IO, Valkey meningkat dari 239K → 678K RPS (naik 2,8x), p99 dari 1.68ms → 0.93ms (turun 44%)
- Redis juga naik dengan thread IO dari 235K → 563K RPS, p99 dari 1.35ms → 0.84ms (turun 40%)
Dampak tuning multithreading/core
- Efek thread IO mulai terlihat jelas dari 3 thread ke atas, dan Valkey menunjukkan selisih yang lebih besar dibanding Redis setelah 4 thread
- Jika core IRQ (interrupt) dibatasi ke 2 core lalu Redis/Valkey dipasang tetap (pinning) ke 6 core sisanya, ada tambahan kenaikan performa
- Valkey: 832K → 999.8K RPS (core/IRQ pinning, pemakaian CPU 80%)
- Pemisahan core IRQ dan aplikasi meminimalkan tail latency serta meningkatkan efisiensi cache
- Disediakan juga contoh penggunaan
cpuset-cpus,--io-threads, dan lainnya di Docker
Reproduksi benchmark dan tips praktis
- Menggunakan instance AWS Graviton4(c8g.2xlarge) terbaru, serta cluster placement group
- Performa maksimum dicapai lewat core pinning/pemisahan IRQ/penyesuaian jumlah koneksi (sekitar 400~500)
- Ukuran keyspace/item juga perlu dituning; nilai dan keyspace yang lebih kecil meningkatkan hit rate cache L3
- Sangat disarankan memanfaatkan alat benchmark multithread seperti valkey-benchmark atau rpc-perf (tool berbasis Rust yang lebih dekat dengan penggunaan nyata)
docker run --network="host" --rm --cpuset-cpus="2-7" \ valkey/valkey:8.0.1 valkey-benchmark \ -h 172.31.4.92 -p 6379 -t SET,GET -n 100000000 -c 256 \ -r 3000000 --threads 6 -d 1024
Batasan dan hal yang perlu diperhatikan dalam pengukuran performa
-
Hasil benchmark bisa berbeda dari lingkungan produksi nyata
- Workload nyata melibatkan banyak faktor seperti campuran SET:GET, perubahan beban, target TPS, dan latensi jaringan
- Saat jumlah koneksi melonjak, juga terlihat latensi antrean meningkat, throughput menurun, dan tail latency bertambah
- Hasil dapat sangat berbeda tergantung tool/opsi benchmark, topologi jaringan, dan faktor lainnya
Tahapan pertumbuhan utama dan perkembangan komunitas
Proyek Valkey selama setahun terakhir berkembang aktif di berbagai sisi
- Melalui kolaborasi banyak pengembang dan perusahaan di GitHub dan tempat lain, proyek ini menambah fitur, memperbaiki bug, dan meningkatkan keamanan
- Upaya pada dokumentasi dan dukungan pengguna juga diperkuat untuk menurunkan hambatan masuk bagi pengguna baru
- Dalam pengelolaan proyek, pengambilan keputusan yang transparan dan voting komunitas ditekankan
Nilai bagi industri dan sisi teknis
Valkey memiliki keunggulan berikut
- Dapat digunakan siapa saja tanpa batasan lisensi, sehingga menjadi pilihan menarik bagi vendor layanan cloud maupun perusahaan web berskala besar
- Memiliki kompatibilitas tinggi dengan Redis sehingga migrasi juga mudah
- Karena dikembangkan oleh komunitas, beragam kebutuhan bisa lebih cepat diakomodasi lewat update berkelanjutan
Kesimpulan dan implikasi
- Valkey menunjukkan hasil yang melampaui Redis dalam aspek teknologi, performa, dan komunitas hanya dalam satu tahun sejak menjadi fork Redis
- Praktik tuning nyata seperti thread IO, pemisahan core/IRQ, dan pengaturan koneksi menjadi kunci
- Performa tidak datang secara otomatis; optimasi berkelanjutan yang sesuai dengan sistem/workload/infrastruktur tetap wajib dilakukan
- Di lingkungan layanan nyata, dibutuhkan pendekatan praktis dengan menguji langsung berbagai situasi, bukan hanya mengandalkan angka benchmark
4 komentar
Meskipun Redis memang membuat banyak keputusan yang keliru, tetap disayangkan kalau pihak yang bekerja keras justru bukan mereka yang menikmati hasilnya.
Ini adalah materi yang diunggah di Facebook "Redis User Group"
yang merangkum peningkatan apa saja yang dilakukan di Valkey 8.
https://www.facebook.com/groups/rediskorea/posts/3927030954110001/
Jika dibaca bersama isi di atas, sepertinya akan membantu untuk memahaminya.
Sebenarnya bukan Valkey yang melakukan sesuatu... melainkan pihak sana yang runtuh dengan sendirinya...
Opini Hacker News