全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):Dokumen teknis kinerja untuk Redis Edisi Open-Source, instans Tair optimasi memori

更新时间:Nov 19, 2025

Topik ini menyajikan hasil pengujian kinerja untuk instans Tair optimasi memori, Redis Edisi Open-Source. Dokumen ini juga menjelaskan lingkungan pengujian, alat, dan metode yang digunakan.

Hasil Pengujian

Bagian ini menyajikan metrik pengujian kinerja untuk lebih dari sepuluh perintah dasar Redis, seperti SET dan GET.

Command

Tair optimasi memori

Redis Edisi Open-Source

QPS

Average Latency

Latensi Persentil ke-99

QPS

Latensi Rata-rata

Latensi Persentil ke-99

SET

282.656

0,45

0,86

142.376

0,45

0,72

GET

519.761

0,24

0,36

204.690

0,31

0,47

ZADD

208.169

0,62

1,14

113.135

0,57

0,78

ZSCORE

463.904

0,27

0,40

170.163

0,37

0,54

HSET

260.069

0,49

1,03

124.613

0,51

0,97

HGET

494.603

0,25

0,37

188.903

0,34

0,52

LPUSH

286.324

0,44

0,84

153.269

0,42

0,59

LINDEX

414.070

0,30

0,45

157.568

0,40

0,58

SADD

292.738

0,44

0,86

140.155

0,45

0,63

SISMEMBER

531.139

0,24

0,34

181.492

0,35

0,52

EVALSHA

214.303

0,60

1,12

101.136

0,63

0,91

Deskripsi metrik pengujian:

  • Queries Per Second (QPS): Jumlah operasi baca dan tulis yang diproses per detik.

  • Latensi Rata-rata: Latensi rata-rata operasi, dalam milidetik (ms).

  • Latensi Persentil ke-99: Latensi maksimum untuk 99% operasi, dalam milidetik (ms). Sebagai contoh, nilai 0,5 ms berarti 99% permintaan diproses dalam waktu kurang dari atau sama dengan 0,5 ms.

Catatan
  • Hasil pengujian merupakan nilai rata-rata dari beberapa pengujian yang dijalankan pada beberapa instans di berbagai zona.

  • Latensi dalam hasil pengujian adalah latensi ujung-ke-ujung. Ini mencakup waktu antrian paket data baik di sisi database maupun di sisi klien uji stres.

  • Hasil pengujian dipengaruhi oleh banyak faktor yang tidak dapat dikendalikan. Margin kesalahan sekitar 10% masih dalam batas wajar.

  • Hasil pengujian hanya mencerminkan pengujian perintah tunggal pada instans baru. Untuk uji stres di lingkungan produksi, gunakan skenario bisnis spesifik Anda sendiri.

  • Hasil pengujian menunjukkan kinerja puncak instans. Jangan menjalankan instans pada beban puncak di lingkungan produksi.

Lingkungan Pengujian

Database

Konteks lingkungan

Deskripsi

Wilayah dan zona

China (Beijing) Zona L, China (Hangzhou) Zona K, China (Shanghai) Zona N, dan China (Shenzhen) Zona C.

Catatan

Pengujian ini dilakukan di beberapa wilayah. Laporan ini hanya menampilkan tingkat kinerja rata-rata dari zona-zona tersebut.

Arsitektur instance

Arsitektur Standar (replika ganda). Kluster tidak diaktifkan. Untuk informasi selengkapnya, lihat Arsitektur Standar.

Catatan

Kinerja arsitektur lainnya:

  • Arsitektur kluster dalam modus proxy: Jika kunci yang diminta didistribusikan secara merata, kinerjanya tidak kurang dari n kali lipat arsitektur standar.

  • Arsitektur kluster dalam mode koneksi langsung: Jika kunci yang diminta didistribusikan secara merata, kinerjanya sama dengan n kali lipat arsitektur standar.

  • Arsitektur Pemisahan baca/tulis: Kinerja tulis sedikit lebih rendah dibandingkan arsitektur standar karena lalu lintas replikasi yang lebih besar. Kinerja baca tidak kurang dari n kali lipat arsitektur standar.

n adalah jumlah shard dalam arsitektur kluster atau jumlah total node dalam arsitektur Pemisahan baca/tulis.

Versi instans

Pengujian ini kompatibel dengan Redis 7.0. Versi biasanya memiliki dampak kecil terhadap hasil.

Tipe instance

Tipe instans berikut diuji:

  • Tair optimasi memori 8 GB (tair.rdb.8g)

  • Redis Edisi Open-Source 8 GB (redis.shard.xlarge.ce)

Hasil pengujian tidak terpengaruh secara signifikan oleh tipe instans. Untuk informasi selengkapnya tentang tipe instans, lihat Tipe instans dan FAQ.

Klien pengujian

Lingkungan pengujian

Deskripsi

Perangkat untuk men-deploy alat uji stres

Sebuah instans Layanan Komputasi Elastis (ECS) dengan tipe instans ecs.g7.8xlarge. Untuk informasi selengkapnya, lihat family instans.

Wilayah dan zona

Wilayah dan zona yang sama dengan instans.

Sistem operasi

Alibaba Cloud Linux 3.

Jaringan

Klien berada dalam virtual private cloud (VPC) yang sama dengan instans Tair dan terhubung ke instans Tair melalui VPC.

Alat Pengujian

Pengujian menggunakan alat open-source resp-benchmark dari tim Tair.

  • Pengujian untuk perintah umum seperti SET dan GET konsisten dengan redis-benchmark. Untuk perintah kompleks, digunakan mode pengujian yang lebih menyerupai skenario bisnis dunia nyata.

  • Kemampuan multi-threaded diaktifkan secara default untuk memaksimalkan tekanan permintaan ke server dan mencegah klien uji stres menjadi bottleneck kinerja.

Jika Anda menggunakan redis-benchmark, gunakan Redis 7.0 atau versi yang lebih baru karena versi ini menyediakan dukungan multi-threaded yang dioptimalkan untuk alat benchmark.

Metode instalasi

pip install resp-benchmark==0.1.7
Catatan

Setelah instalasi, jalankan perintah resp-benchmark --help untuk informasi lebih lanjut mengenai item konfigurasi, atau kunjungi halaman GitHub-nya.

Contoh pengujian

Penting
  • Sebelum setiap pengujian, bersihkan database untuk menghindari gangguan dari data yang sudah ada.

  • Jika Anda tidak menentukan jumlah koneksi, resp-benchmark akan secara otomatis memilih jumlah yang sesuai. Untuk mengukur data di bawah beban puncak, sesuaikan jumlah koneksi secara manual. Misalnya, atur jumlah koneksi menjadi 128 dengan menambahkan parameter -c 128. Jumlah koneksi yang terlalu rendah menghasilkan tekanan pengujian yang tidak cukup dan QPS rendah. Jumlah koneksi yang terlalu tinggi dapat melebihi kapasitas pemrosesan DB, sehingga menyebabkan paket data mengantre lama di tautan jaringan dan menghasilkan latensi tinggi. Karena banyak faktor yang berpengaruh, tidak ada jumlah koneksi tetap yang dapat ditentukan. Pengaturan umum adalah 32, 64, 128, 192, dan 256. Sesuaikan jumlah tersebut berdasarkan hasil pengujian Anda.

Bagian berikut menyediakan contoh pengujian untuk setiap perintah:

  • SET

    Metrik ini merepresentasikan kinerja perintah SET.

    Contoh ini menguji perintah SET. Rentang kunci adalah 0 hingga 10.000.000, artinya nama kunci yang dihasilkan berkisar dari key_0000000000 hingga key_0009999999. Ukuran nilai adalah 64 byte, dan durasi pengujian adalah 20 detik.

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "SET {key uniform 10000000} {value 64}"
  • GET

    Metrik ini merepresentasikan kinerja perintah GET.

    1. Persiapkan data. Rentang kunci adalah 0 hingga 10.000.000, dan ukuran nilai adalah 64 byte.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10000000 "SET {key sequence 10000000} {value 64}"
    2. Contoh ini menguji perintah GET. Durasi pengujian adalah 20 detik.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "GET {key uniform 10000000}"
  • ZADD

    Metrik ini merepresentasikan kinerja perintah ZADD.

    Contoh ini menguji kinerja tulis perintah ZADD. Rentang kunci adalah 0 hingga 1.000, dan rentang skor adalah 0 hingga 70.000. Setiap kunci memiliki maksimal 10.000 anggota. Durasi pengujian adalah 20 detik.

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "ZADD {key uniform 1000} {rand 70000} {key uniform 10000}"
  • ZSCORE

    Metrik ini merepresentasikan kinerja perintah ZSCORE.

    1. Persiapkan data. Rentang kunci adalah 0 hingga 1.000, dan rentang skor adalah 0 hingga 70.000. Setiap kunci memiliki maksimal 10.007 anggota.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10007000 "ZADD {key sequence 1000} {rand 70000} {key sequence 10007}"
    2. Contoh ini menguji perintah ZSCORE. Durasi pengujian adalah 20 detik.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "ZSCORE {key uniform 1000} {key uniform 10007}"
  • HSET

    Metrik ini merepresentasikan kinerja perintah HSET.

    Contoh ini menguji perintah HSET. Rentang kunci adalah 0 hingga 1.000, dan rentang field adalah 0 hingga 10.000. Nilai setiap field berukuran 64 byte. Durasi pengujian adalah 20 detik.

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "HSET {key uniform 1000} {key uniform 10000} {value 64}"
  • HGET

    Metrik ini merepresentasikan kinerja perintah HGET.

    1. Persiapkan data. Rentang kunci adalah 0 hingga 1.000. Setiap kunci berisi 10.007 field. Nilai setiap field berukuran 64 byte.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10007000 "HSET {key sequence 1000} {key sequence 10007} {value 64}"
    2. Contoh ini menguji perintah HGET. Durasi pengujian adalah 20 detik.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "HGET {key uniform 1000} {key uniform 10007}"
  • LPUSH

    Metrik ini merepresentasikan kinerja perintah LPUSH.

    Contoh ini menguji perintah LPUSH. Rentang kunci adalah 0 hingga 1.000, ukuran nilai adalah 64 byte, dan durasi pengujian adalah 20 detik.

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "LPUSH {key uniform 1000} {value 64}"
  • LINDEX

    Metrik ini merepresentasikan kinerja perintah LINDEX.

    1. Persiapkan data. Rentang kunci adalah 0 hingga 1.000. Setiap kunci berisi 10.000 elemen, dan ukuran setiap elemen adalah 64 byte.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10000000 "LPUSH {key sequence 1000} {value 64}"
    2. Contoh ini menguji perintah LINDEX. Durasi pengujian adalah 20 detik.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "LINDEX {key uniform 1000} {rand 10000}"
  • SADD

    Metrik ini merepresentasikan kinerja perintah SADD.

    Contoh ini menguji perintah SADD. Rentang kunci adalah 0 hingga 1.000, ukuran nilai adalah 64 byte, dan durasi pengujian adalah 20 detik.

    resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "SADD {key uniform 1000} {value 64}"
  • SISMEMBER

    Metrik ini merepresentasikan kinerja perintah SISMEMBER.

    1. Persiapkan data. Rentang kunci adalah 0 hingga 1.000. Setiap kunci berisi 10.007 anggota, dan ukuran setiap anggota adalah 64 byte.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 --load -c 256 -P 10 -n 10007000 "SADD {key sequence 1000} {key sequence 10007}"
    2. Contoh ini menguji perintah SISMEMBER. Durasi pengujian adalah 20 detik.

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "SISMEMBER {key uniform 1000} {key uniform 10007}"
  • EVALSHA

    Metrik ini merepresentasikan kinerja menjalankan perintah SET menggunakan EVALSHA. Rentang kunci untuk perintah SET adalah 0 hingga 10.000.000, dan ukuran nilai adalah 64 byte.

    1. Muat skrip Lua:

      redis-cli -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 SCRIPT LOAD "return redis.call('SET', KEYS[1], ARGV[1])"
    2. Uji perintah selama 20 detik:

      resp-benchmark -h r-bp1u****8qyvemv2em.redis.rds.aliyuncs.com -p 6379 -s 20 "EVALSHA d8f2fad9f8e86a53d2a6ebd960b33c4972cacc37 1 {key uniform 10000000} {value 64}"