全部产品
Search
文档中心

PolarDB:Pengiriman log berbasis RDMA

更新时间:Jul 02, 2025

PolarDB for MySQL menggunakan teknologi Remote Direct Memory Access (RDMA) untuk mengoptimalkan pengiriman log dan menyediakan solusi pengiriman log berbasis RDMA. Solusi ini menggantikan metode pengiriman tradisional berbasis penyimpanan bersama atau TCP, meningkatkan throughput pengiriman log hingga 100%, serta mengurangi latensi replikasi lebih dari 50%. Topik ini menjelaskan cara kerja pengiriman log berbasis RDMA, cara mengaktifkan fitur ini, dan performanya dalam skenario standar.

Cara pengiriman log berbasis RDMA bekerja

Secara default, PolarDB mensinkronkan log menggunakan metode berbasis penyimpanan bersama atau TCP. Untuk mempercepat sinkronisasi log dan mengurangi overhead, PolarDB memperkenalkan teknologi pengiriman log berbasis RDMA. Berikut adalah cara kerja pengiriman log berbasis RDMA:

  • Buffer log redo node baca-saja dianggap sebagai gambar jarak jauh dari buffer log redo node utama.

  • Sebelum buffer log ditulis ke disk, node utama secara asinkron menulis ulang log ke buffer log node baca-saja jarak jauh, lalu mensinkronkan offset ke node baca-saja.

  • Node baca-saja membaca buffer log lokal alih-alih log redo di penyimpanan bersama, yang mempercepat replikasi dan sinkronisasi.

Dibandingkan dengan operasi dua sisi pada metode tradisional, operasi satu sisi pengiriman log berbasis RDMA menggunakan kata kerja READ/WRITE tanpa melibatkan CPU penerima. Log ditulis ke memori node baca-saja jarak jauh menggunakan alamat dan kunci jarak jauh.

Batasan

  • Kluster harus merupakan versi PolarDB for MySQL 8.0.1 dengan revisi 8.0.1.1.33 atau lebih baru.

  • Fitur pengiriman log berbasis RDMA tidak dapat diaktifkan untuk kluster sekunder dalam global database network (GDN).

Penggunaan

Anda dapat mengonfigurasi parameter loose_innodb_polar_log_rdma_transfer untuk mengaktifkan pengiriman log berbasis RDMA.

Parameter

Tingkat

Deskripsi

loose_innodb_polar_log_rdma_transfer

Global

Menentukan apakah akan mengaktifkan fitur pengiriman log berbasis RDMA. Nilai valid:

  • ON

  • OFF (default)

Uji performa

Mengurangi latensi replikasi

Dalam berbagai skenario penulisan, pengiriman log berbasis RDMA dapat secara signifikan mengurangi latensi replikasi node baca-saja.

Contoh berikut menunjukkan hasil uji latensi replikasi pada kluster PolarDB for MySQL 8.0 dengan konfigurasi 32 core CPU dan 128 GB memori. Pengujian dilakukan menggunakan 20 tabel, masing-masing berisi 2 juta baris data. Pengujian membandingkan latensi replikasi node baca-saja ketika pengiriman log berbasis RDMA diaktifkan atau dinonaktifkan pada tingkat penulisan redo yang berbeda.

image..png

Seperti yang ditunjukkan pada gambar di atas, ketika pengiriman log berbasis RDMA diaktifkan, latensi replikasi node baca-saja berkurang secara signifikan seiring dengan meningkatnya laju penulisan redo.

Meningkatkan performa SCC PolarDB

Ketika konsistensi global (mode kinerja tinggi) diaktifkan, latensi replikasi node baca-saja sangat memengaruhi performa PolarDB for MySQL. Pengiriman log berbasis RDMA dapat secara efektif meningkatkan performa Strict Consistency Cluster (SCC).

Contoh berikut menunjukkan hasil uji performa SCC pada kluster PolarDB for MySQL 8.0 dengan konfigurasi 8 core CPU dan 32 GB memori. Pengujian dilakukan menggunakan 20 tabel, masing-masing berisi 2 juta baris data. Pengujian membandingkan performa SCC node baca-saja ketika pengiriman log berbasis RDMA diaktifkan atau dinonaktifkan dengan jumlah thread yang berbeda.

image..png

Seperti yang ditunjukkan pada gambar di atas, ketika pengiriman log berbasis RDMA diaktifkan, performa SCC node baca-saja meningkat sekitar 20%.