赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 实践教程
  5. 网络最佳实践
  6. 通过eRDMA提升网络性能
  7. 基于eRDMA增强型实例部署Redis

基于eRDMA增强型实例部署Redis

  • 通过eRDMA提升网络性能
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

使用弹性eRDMA可以获得超低的延迟,更快地处理请求。本文介绍如何在eRDMA增强型实例上部署共享内存通信SMC(Shared Memory Communication)和Redis,然后基于SMC测试Redis处理请求的能力。

背景信息

共享内存通信SMC是一种兼容socket层、使用共享内存技术实现的高性能内核网络协议栈。根据共享内存技术的不同,SMC又可以细分为基于Internal Shared Memory(ISM)技术的SMC over DMA(SMC-D)和基于Remote Direct Memory Access(RDMA)技术的SMC over RDMA(SMC-R)。本文将为您介绍如何部署SMC-R并基于SMC-R进行测试。

步骤一:部署SMC

本步骤需要分别创建实例C(客户端)和实例D(服务端)两台实例,实例配置示例如下:

  • 规格:ecs.c7re.8xlarge

  • 镜像:Alibaba Cloud Linux 3.2104 LTS 64位

  • 实例属于同一安全组,默认内网互通

  • 实例D主网卡的主私有IP:192.168.5.49

  1. 分别创建两台eRDMA增强型ECS实例并远程连接实例。

    具体操作,请参见在企业级x86实例上配置eRDMA。

  2. 分别在实例C和实例D上执行以下命令,部署SMC-R模块。

    modprobe smc && modinfo smc
  3. 分别在实例C和实例D上执行以下命令关闭本机的IPv6模式,确保ERI下可以正常创建eRDMA连接。

    sysctl net.ipv6.conf.all.disable_ipv6=1
  4. 分别在实例C和实例D上执行以下命令,打开SMC eRDMA开关,使流量优先走eRDMA。

    sysctl net.smc.tcp2smc=1
  5. 分别在实例C和实例D上执行以下命令,安装SMC的监控诊断工具集smc-tools。

    smc-tools是IBM开发的SMC-R监控诊断工具,为您提供了多个维度的SMC-R跟踪诊断,主要包括:

    • smcr:提供SMC-R相关资源统计信息。

    • smcss:提供SMC socket相关信息。

    yum install -y smc-tools

    安装完成后,可以执行smcss -a命令查看当前的流量路径。smcss查看

步骤二:部署社区版Redis

在ECS实例上部署SMC后,您需要继续在实例上部署Redis。本步骤中以实例C作为Redis客户端、实例D作为Redis服务端介绍如何部署Redis。

  1. 远程连接实例C和实例D。

  2. 分别为实例C和实例D安装社区版Redis。

    1. 执行以下命令,下载社区版Redis的安装包。

      wget https://github.com/redis/redis/archive/refs/tags/6.2.5.zip

      更多版本,请参见Redis Github项目地址。

    2. 执行以下命令,解压安装包并进入文件目录。

      unzip 6.2.5.zip && cd redis-6.2.5 
      说明

      请确保您的Linux系统已经安装了unzip命令。如果您的系统没有安装该命令,您可以通过执行yum install -y unzip zip命令进行安装。

    3. 执行以下命令,编译安装Redis。

      make -j
  3. 在实例D上执行以下命令,启动Redis服务端。

    ./src/redis-server --bind 192.168.5.49 --port 6379 --protected-mode no --save
    说明

    192.168.5.49为实例D主网卡的主私有IP,6379为需要监听的端口,请您在自行测试时按实际情况替换。

    community-redis-server
  4. 在Redis客户端上连接和测试Redis服务端。

    • 执行以下命令,连接Redis服务端。

      ./src/redis-cli -h 192.168.5.49 -p 6379
    • 执行以下命令,使用redis-benchmark进行压测。

      以下命令模拟从100个客户端向服务端发送1,000,000次SET命令的请求:

      ./src/redis-benchmark -h 192.168.5.49 -p 6379 -n 1000000 -t set -c 100

您也可以在打开SMC-R后,启动多个压测进程进行混合压测,参考以上步骤再部署1个Redis客户端,在2个Redis客户端上分别启动多个压测进程,然后在Redis服务端上查看每秒的操作次数OPS(Operation Per Second)。

  • 在Redis客户端上同时启动8个SET压测进程的示例命令:

    ./src/redis-benchmark -h 192.168.5.49 -p 6379 -n 100000000 -t set --threads 8 -c 100
  • 在Redis客户端上同时启动8个GET压测进程的示例命令:

    ./src/redis-benchmark -h 192.168.5.49 -p 6379 -n 1000000 -t get --threads 8 -c 100
  • 在Redis服务端上查看OPS的示例命令:

    ./src/redis-cli -h 192.168.5.49 -p 6379 info | grep instantaneous_ops_per_sec
    说明

    请新打开一个远程连接窗口,然后输入查看命令。

相关文章

基于eRDMA增强型实例部署AI训练集群 2025-04-01 11:57

基于eRDMA增强型实例部署AI训练集群,可以充分利用eRDMA提供的低延迟、高吞吐以及低CPU占用等特性,提升集群计算效率和响应速度,优化资源使用。文介绍如何在eRDMA增强型实例上部署AI训练集群,并测试其性能。 AI训练场景架构

基于eRDMA增强型实例部署Redis 2025-04-01 11:57

使用弹性eRDMA可以获得超低的延迟,更快地处理请求。本文介绍如何在eRDMA增强型实例上部署共享内存通信SMC(Shared Memory Communication)和Redis,然后基于SMC测试Redis处理请求的能力。 背景信息 共享内存通

基于eRDMA部署高网络性能的bRPC应用 2025-04-01 11:57

基于支持eRDMA能力的ECS实例部署bRPC应用,可以充分利用eRDMA提供的低延迟、高吞吐量以及低CPU占用等特性,以优化bRPC应用的数据传输效率,适用于对消息吞吐量和时延要求较高的应用场景。本文介绍如何基于支持eRDMA能力的ECS实例部署bRPC应用,并测试eRDMA对bRPC应用的性能提

基于eRDMA部署高网络性能的Kafka集群 2025-04-01 11:57

基于支持eRDMA能力的ECS实例部署Kafka集群,可以充分利用eRDMA提供的低延迟、高吞吐量以及低CPU占用等特性,以优化Kafka集群内部节点间的数据传输效率,适用于对消息吞吐量和时延要求较高的应用场景。本文介绍如何基于支持eRDMA能力的ECS实例部署Kafka集群,并测试eRDMA对Ka

基于eRDMA部署高网络性能的Spark集群 2025-04-01 11:57

使用eRDMA可以获得超低的延迟,更快地处理请求。本文介绍如何创建以eRDMA增强型实例作为节点的Spark集群,并部署Benchmark测试Spark集群处理负载的性能。 背景信息 Benchmark是一种基准性能测试工具,主要用于测试负载的执行时

基于RDMA增强型实例部署HPC应用 2025-04-01 11:57

使用弹性RDMA网卡(ERI)可以获得超低的延迟,更快地处理请求。本文介绍如何创建以RDMA增强型实例作为计算节点的HPC集群,并部署IMB测试基于eRDMA的通信性能。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号