全部产品
Search
文档中心

Elastic Compute Service:Deploy SMC-R dan Redis berdasarkan eRDMA

更新时间:Jul 02, 2025

Elastic Remote Direct Memory Access (eRDMA) mempercepat pemrosesan permintaan dengan latensi ultra-rendah. Topik ini menjelaskan cara menerapkan Shared Memory Communication (SMC) dan Redis berdasarkan eRDMA serta menggunakan SMC untuk menguji kemampuan pemrosesan permintaan Redis.

Informasi latar belakang

  • SMC adalah tumpukan protokol berperforma tinggi yang beroperasi di ruang kernel, menggunakan teknologi shared memory, dan kompatibel dengan lapisan socket. SMC diklasifikasikan menjadi dua variasi berdasarkan teknologi shared memory: Shared Memory Communications - Direct Memory Access (SMC-D), yang menggunakan teknologi internal shared memory (ISM), dan Shared Memory Communications over Remote Direct Memory Access (SMC-R), yang menggunakan teknologi RDMA. Untuk informasi lebih lanjut, lihat Kesesuaian SMC.

  • Alibaba Cloud Linux 3 menyediakan kemampuan akselerasi SMC-R berdasarkan eRDMA. Untuk menggunakan SMC-R di Alibaba Cloud, Anda harus membuat instance ECS yang mendukung eRDMA.

Persiapan

Buat dua instance yang mendukung eRDMA, pilih opsi Auto-install eRDMA Driver, dan aktifkan fitur eRDMA Interface (ERI) untuk elastic network interfaces (ENIs) utama. Untuk informasi lebih lanjut, lihat Buat instance di tab Custom Launch.

Instance ECS berfungsi sebagai server dan klien dengan konfigurasi berikut:

  • Tipe Instance: ecs.g8i.8xlarge

  • Gambar: Alibaba Cloud Linux 3.2104 LTS 64-bit

  • Jaringan: Instance ECS termasuk dalam grup keamanan yang sama dan dapat berkomunikasi satu sama lain melalui jaringan internal.

  • Alamat IP privat utama dari ENI utama: 192.168.0.25 untuk instance yang digunakan sebagai server dan 192.168.0.24 untuk instance yang digunakan sebagai klien. Ganti alamat IP sesuai kebutuhan.

    Catatan
    • Dalam pengujian topik ini, instance ECS yang memiliki fitur ERI diaktifkan untuk ENI utama digunakan. Alamat IP privat utama dari ENI utama pada instance ECS yang digunakan sebagai server adalah 192.168.0.25.

    • Jika Anda menggunakan instance ECS yang memiliki fitur ERI diaktifkan untuk ENI sekunder untuk pengujian, ganti alamat IP sebelumnya dengan alamat IP privat utama dari ENI sekunder. Untuk informasi lebih lanjut, lihat Langkah 3: Ikat ERIs ke instance ECS.

Contoh cara mengonfigurasi parameter tertentu selama pembuatan instance ECS

Saat Anda membuat instance ECS, perhatikan parameter atau opsi berikut. Untuk informasi tentang parameter lain di halaman pembelian instance ECS, lihat Buat instance di tab Custom Launch.

  • Instances & Images: Pilih tipe instance yang mendukung eRDMA dan instal driver eRDMA.

    • Instance: Untuk informasi lebih lanjut, lihat bagian Batasan dari topik ini.

    • Image: Klik tab Public Images, pilih gambar publik, dan pilih Auto-install eRDMA Driver. Sistem secara otomatis menginstal driver eRDMA saat instance dimulai.

      eRDMA

  • ENI: Pilih opsi eRDMA Interface di sisi kanan Primary ENI untuk mengikat ERI ke instance ECS.

    image

    Catatan

    Saat Anda membuat instance tingkat perusahaan, Anda hanya dapat mengaktifkan fitur ERI untuk elastic network interface (ENI) utama. Anda dapat mengaktifkan fitur ERI untuk ENI sekunder di konsol ECS atau dengan memanggil operasi API. Untuk informasi lebih lanjut, lihat ERIs.

Catatan

Saat Anda membuat instance tingkat perusahaan, Anda hanya dapat mengaktifkan fitur ERI untuk elastic network interface (ENI) utama. Anda dapat mengaktifkan fitur ERI untuk ENI sekunder di konsol ECS atau dengan memanggil operasi API. Untuk informasi lebih lanjut, lihat ERIs.

Langkah 1: Terapkan SMC

  1. Sambungkan ke instance ECS.

    Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk terhubung ke instance Linux melalui SSH.

  2. Jalankan perintah berikut pada instance ECS untuk menerapkan modul SMC-R:

    modprobe smc && modinfo smc
  3. Jalankan perintah berikut pada instance ECS untuk menonaktifkan IPv6, memungkinkan koneksi eRDMA dibuat pada ERIs.

    Penting
    • Perangkat eRDMA Alibaba Cloud dan SMC tidak mendukung alamat IPv6. Jika aplikasi menggunakan IPv6, SMC akan kembali ke TCP. Untuk informasi lebih lanjut, lihat SMC kembali ke TCP saat alamat IPv6 digunakan.

    • Mulai dari versi kernel ANCK 5.10.134-17.3, SMC mendukung alamat IPv4-mapped IPv6.

    sysctl net.ipv6.conf.all.disable_ipv6=1
  4. Jalankan perintah berikut pada instance ECS untuk mengaktifkan fitur SMC eRDMA agar lalu lintas diprioritaskan melalui eRDMA.

    Setelah konversi soket transparan diaktifkan untuk net namespace, soket TCP baru berikutnya di net namespace dikonversi menjadi soket SMC dan soket TCP yang ada tidak terpengaruh.

    sysctl net.smc.tcp2smc=1
  5. Jalankan perintah berikut pada instance ECS untuk menginstal smc-tools.

    smc-tools adalah toolkit dari IBM yang memungkinkan Anda memantau dan mendiagnosis SMC-R dari berbagai aspek. Ini terdiri dari modul berikut:

    • smcr: menampilkan statistik sumber daya SMC-R.

    • smcss: menampilkan informasi tentang soket SMC.

    yum install -y smc-tools

    Setelah smc-tools diinstal, jalankan perintah smcss -a untuk memeriksa jalur lalu lintas saat ini.smcss查看

Langkah 2: Terapkan Redis

Terapkan Redis pada instance ECS.

  1. Sambungkan ke instance ECS.

    Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk terhubung ke instance Linux melalui SSH.

  2. Jalankan perintah berikut pada instance ECS untuk menginstal Redis:

    sudo yum install -y redis
  3. Jalankan perintah berikut pada instance ECS yang digunakan sebagai server untuk memulai server Redis:

    redis-server --bind 192.168.0.25 --port 6379 --protected-mode no --save
    Catatan

    192.168.0.25 adalah alamat IP privat utama dari ENI utama pada instance yang digunakan sebagai server, dan 6379 adalah nomor port tempat Redis mendengarkan. Ganti alamat IP privat utama dan nomor port dengan nilai aktual.

    image

  4. Sambungkan ke instance ECS yang digunakan sebagai klien dan lakukan uji stres.

    • Jalankan perintah berikut untuk terhubung ke server Redis:

      redis-cli -h 192.168.0.25 -p 6379
    • Lakukan uji stres menggunakan redis-benchmark.

      Jalankan perintah berikut untuk mensimulasikan 100 klien mengirim 1.000.000 perintah SET ke server:

      redis-benchmark -h 192.168.0.25 -p 6379 -n 1000000 -t set -c 100

Anda juga dapat memulai beberapa proses uji stres untuk melakukan pengujian gabungan setelah Anda mengaktifkan SMC-R. Ulangi langkah-langkah sebelumnya untuk menerapkan klien Redis lain, mulai beberapa proses uji stres pada dua klien Redis, dan kemudian lihat jumlah operasi per detik (OPS) pada server Redis.

  • Contoh perintah untuk memulai delapan proses uji stres untuk perintah SET:

    redis-benchmark -h 192.168.0.25 -p 6379 -n 100000000 -t set --threads 8 -c 100
  • Contoh perintah untuk memulai delapan proses uji stres untuk perintah GET:

    redis-benchmark -h 192.168.0.25 -p 6379 -n 1000000 -t get --threads 8 -c 100
  • Contoh perintah untuk melihat jumlah OPS pada server Redis:

    redis-cli -h 192.168.0.25 -p 6379 info | grep instantaneous_ops_per_sec
    Catatan

    Buka jendela koneksi baru dan masukkan perintah di atas.