全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):Paper putih kinerja instance memori persisten yang dioptimalkan

更新时间:Jun 27, 2025

Topik ini menjelaskan pengujian pada Tair (Enterprise Edition) instance memori persisten yang dioptimalkan. Lingkungan pengujian, alat, metode, dan hasil dijelaskan.

Ikhtisar

Tair instance memori persisten yang dioptimalkan menggunakan memori persisten (PMEM) untuk menyediakan database in-memory berkapasitas besar yang kompatibel dengan Redis sumber terbuka. Instance ini tidak menggunakan disk untuk menerapkan persistensi data dan biayanya 30% lebih rendah dibandingkan instance Redis Open-Source Edition, sambil memberikan throughput dan latensi hampir sama dengan instance Redis Open-Source Edition serta mempertahankan persistensi setiap operasi. Hal ini membantu meningkatkan keandalan data bisnis. Untuk informasi lebih lanjut, lihat Instance Memori Persisten yang Dioptimalkan.

Lingkungan pengujian

Item

Deskripsi

Wilayah dan zona

Semua pengujian dilakukan di Zhangjiakou Zone A.

Arsitektur instance

Arsitektur master-replika standar digunakan. Untuk informasi lebih lanjut, lihat Arsitektur Standar.

Mesin virtual tempat alat uji stres diterapkan

Sebuah instance Elastic Compute Service (ECS) tipe ecs.g6e.8xlarge digunakan. Untuk informasi lebih lanjut, lihat Ikhtisar keluarga instance.

Tipe instance

Dalam pengujian, tipe instance adalah tair.scm.standard.32m.128d.

Alat pengujian

Anda dapat menggunakan YCSB sumber terbuka untuk melakukan uji stres. YCSB adalah alat Java yang digunakan untuk mengukur kinerja berbagai jenis database. Untuk informasi lebih lanjut tentang cara menginstal dan menggunakan YCSB, lihat YCSB.

YCSB sumber terbuka hanya menguji hash. Untuk menggunakan YCSB menguji string, Anda harus menggunakan file RedisClient.java untuk mengganti file asli dengan nama yang sama di direktori YCSB/redis/src/main/java/site/ycsb/db setelah mengunduh YCSB.

Beban kerja

Jumlah total data yang terlibat dalam pengujian adalah 8 GB. Metode distribusi data adalah Zipfian. Kinerja instance memori persisten yang dioptimalkan diuji dalam skenario berikut:

  • Pemuatan data: 100% operasi tulis.

  • Beban Kerja C: 100% operasi baca.

  • Beban Kerja A: 50% operasi pembaruan dan 50% operasi baca.

Untuk informasi lebih lanjut tentang beban kerja, lihat Beban Kerja Inti.

Catatan

Perintah kompleks untuk set dan zset tidak cocok untuk pengujian ini karena skenario aplikasinya. Anda dapat menyesuaikan pengujian untuk set dan zset berdasarkan skenario bisnis Anda.

Perintah pengujian

# Muat data.
workload=a
./bin/ycsb load redis -s -P workloads/workload${workload} -p "redis.host=${server_ip}" -p  "redis.port=${port}" -p "redis.password=${password}" -p "recordcount=${recordcount}" -p "operationcount=${operationcount}" -p "redis.timeout=30000" -p "redis.command_group=${command_group}" -p "fieldcount=${fieldcount}" -p "fieldlength=${fieldlength}" -threads ${threads}  -p "redis.password=***:*****"

# Jalankan Beban Kerja C.
workload=c
./bin/ycsb run redis -s -P workloads/workload${workload} -p "redis.host=${server_ip}" -p  "redis.port=${port}" -p "redis.password=${password}" -p "recordcount=${recordcount}" -p "operationcount=${operationcount}" -p "redis.timeout=30000" -p "redis.command_group=${command_group}" -p "fieldcount=${fieldcount}" -p "fieldlength=${fieldlength}" -threads ${threads} -p "redis.password=***:*****"

# Jalankan Beban Kerja A.
workload=a
./bin/ycsb run redis -s -P workloads/workload${workload} -p "redis.host=${server_ip}" -p  "redis.port=${port}" -p "redis.password=${password}" -p "recordcount=${recordcount}" -p "operationcount=${operationcount}" -p "redis.timeout=30000" -p "redis.command_group=${command_group}" -p "fieldcount=${fieldcount}" -p "fieldlength=${fieldlength}" -threads ${threads} -p "redis.password=***:*****" 

Tabel 1. Parameter

Parameter

Deskripsi

server_ip

Alamat IP instance.

port

Port layanan instance.

password

Format kata sandi bervariasi berdasarkan akun yang dipilih:

  • Jika Anda menggunakan akun default, masukkan kata sandi. Misalnya, jika nama pengguna akun default adalah r-bp1zxszhcgatnx**** dan kata sandi adalah Password21, perintah yang digunakan untuk memverifikasi kata sandi adalah AUTH Password21.

  • Jika Anda menggunakan akun kustom, masukkan kata sandi dalam format user:password. Misalnya, jika nama pengguna akun kustom adalah testaccount dan kata sandi adalah Rp829dlwa, perintah yang digunakan untuk memverifikasi kata sandi adalah AUTH testaccount:Rp829dlwa.

Catatan

Jika Anda lupa kata sandi Anda, Anda dapat menyetel ulang. Untuk informasi lebih lanjut, lihat Ubah atau setel ulang kata sandi.

recordcount

Jumlah data yang disiapkan.

operationcount

Jumlah data yang terlibat dalam operasi.

command_group

Jenis data yang ingin Anda uji. Dalam pengujian ini, jenis data berikut diuji secara berurutan:

  • String

  • Hash

  • List

  • Set

  • Zset

fieldcount

Jumlah bidang atau elemen. Untuk menguji string, atur parameter ini ke 1. Untuk menguji jenis data lainnya, atur parameter ini ke 10.

fieldlength

Panjang nilai. Atur parameter ini berdasarkan persyaratan pengujian.

threads

Jumlah thread YCSB. Atur parameter ini berdasarkan tipe instance.

Hasil pengujian

Metrik pengujian

Deskripsi

QPS

Jumlah operasi baca dan tulis yang diproses per detik.

Masukkan Latensi Rata-rata

Latensi rata-rata operasi tulis. Unit: µs.

Latensi Persentil ke-99 INSERT

Latensi tertinggi untuk 99% tercepat dari operasi tulis. Unit: µs. Sebagai contoh, jika parameter ini diatur ke 500 µs, 99% operasi diproses dalam 500 µs.

Rata-rata Latensi READ

Latensi rata-rata operasi baca. Unit: µs.

Latensi Persentil ke-99 READ

Latensi tertinggi untuk 99% tercepat dari operasi baca. Unit: µs.

Rata-rata Latensi UPDATE

Latensi rata-rata operasi pembaruan. Unit: µs.

Latensi Persentil ke-99 UPDATE

Latensi tertinggi untuk 99% tercepat dari operasi pembaruan. Unit: µs.

Hasil pengujian untuk pemuatan data

Tabel 2. String

Panjang nilai (byte)

QPS

Rata-rata latensi INSERT (µs)

Latensi persentil ke-99 INSERT (µs)

128

134.478

473

687

256

126.139

504

828

1.024

99.775

638

1.051

2.048

77.130

826

1.157

4.096

60.646

1.050

1.534

Tabel 3. Hash

Jumlah bidang dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi INSERT (µs)

Latensi persentil ke-99 INSERT (µs)

10

128

47.353

1.348

1.885

256

46.716

1.366

2.181

1.024

27.759

2.297

2.873

2.048

16.605

3.833

4.923

Tabel 4. List

Jumlah elemen dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi INSERT (µs)

Latensi persentil ke-99 INSERT (µs)

10

128

64.950

979

1.310

256

47.157

1.348

1.752

1.024

26.719

2.386

3.457

2.048

16.714

3.811

4.751

4.096

10.129

6.279

7.891

Tabel 5. Set

Jumlah anggota dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi INSERT (µs)

Latensi persentil ke-99 INSERT (µs)

10

128

63.670

1.001

1.514

256

44.707

1.427

2.129

1.024

25.375

2.513

3.239

2.048

14.318

4.451

5.619

4.096

8.378

7.608

9.095

Tabel 6. Set Terurut

Jumlah elemen dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi INSERT (µs)

Latensi persentil ke-99 INSERT (µs)

10

128

40.292

1.585

2.469

256

34.168

1.869

2.569

1.024

21.347

2.989

3.905

2.048

12.868

4.956

6.255

4.096

7.864

8.101

9.599

Hasil pengujian untuk Beban Kerja C

Tabel 7. String

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

128

170.699

362

546

256

163.829

380

565

1.024

161.491

386

569

2.048

130.189

487

729

4.096

115.433

548

808

Tabel 8. Hash

Jumlah bidang dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

10

128

96.111

662

874

256

86.892

733

915

1.024

61.608

1.030

1.293

2.048

37.334

1.696

2.331

4.096

25.943

2.429

3.319

Tabel 9. List

Jumlah elemen dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

10

128

105.296

604

889

256

97.047

655

890

1.024

66.384

955

1.192

2.048

35.796

1.769

2.461

4.096

26.314

2.392

3.271

Tabel 10. Set

Jumlah anggota dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

10

128

97.825

651

896

256

80.954

787

970

1024

59.924

1.060

1.313

2048

33.356

1.900

2.637

4096

23.605

2.677

3.723

Tabel 11. Set Terurut

Jumlah elemen dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

10

128

58.380

1.093

1.341

256

56.287

1.133

1.390

1.024

47.468

1.338

1.688

2.048

30.073

2.096

2.783

4.096

21.850

2.880

3.765

Hasil pengujian untuk Beban Kerja A

Tabel 12. String

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

Rata-rata latensi UPDATE (µs)

Latensi persentil ke-99 UPDATE (µs)

128

141.120

451

616

450

618

256

137.551

463

617

461

618

1.024

124.165

516

724

508

725

2.048

92.652

695

881

678

871

4.096

78.994

819

1.042

791

1.024

Tabel 13. Hash

Jumlah bidang dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

Rata-rata latensi UPDATE (µs)

Latensi persentil ke-99 UPDATE (µs)

10

128

99.495

646

831

633

820

256

88.235

731

985

712

966

1.024

72.013

892

1.159

863

2.049

2.048

45.790

1.379

1.898

1.354

2.821

4.096

32.912

1.891

2.931

1.915

7.887

Tabel 14. List

Jumlah elemen dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

Rata-rata latensi UPDATE (µs)

Latensi persentil ke-99 UPDATE (µs)

10

128

71.696

591

775

1.185

1.383

256

66.294

638

800

1.281

1.456

1.024

53.402

791

1.006

1.581

1.865

2.048

36.519

1.221

1.581

2.232

2.831

4.096

28.390

1.618

2.113

2.803

3.777

Tabel 15. Set

Jumlah anggota dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

Rata-rata latensi UPDATE (µs)

Latensi persentil ke-99 UPDATE (µs)

10

128

66.346

640

792

1.282

1.445

256

60.010

707

993

1.415

1.957

1.024

45.359

933

1.128

1.858

2.073

2.048

29.027

1.529

2.021

2.820

4.507

4.096

21.440

2.144

2.773

3.726

5.095

Tabel 16. Set Terurut

Jumlah elemen dalam sebuah key

Panjang nilai (byte)

QPS

Rata-rata latensi READ (µs)

Latensi persentil ke-99 READ (µs)

Rata-rata latensi UPDATE (µs)

Latensi persentil ke-99 UPDATE (µs)

10

128

49.695

861

1.050

1.707

1.912

256

48.036

891

1.084

1.763

1.970

1.024

39.795

1.081

1.386

2.107

2.563

2.048

28.415

1.597

1.981

2.855

3.589

4.096

21.317

2.247

2.821

3.665

4.787