本文介绍Redis企业版(持久内存型)性能测试的具体方法。

工作负载

测试的总数据量8 GB,数据分布方法为zipfian,具体测试场景如下:

  • Load:100%的string set操作(写操作)。
  • Workload C:100%的string get操作(读操作)。
  • Workload A:50%的string set操作(更新操作)与50%的string get操作。

关于Workload的详细介绍,请参见Core Workloads

测试命令

#加载数据
workload=a
./bin/ycsb load redis -s -P workloads/workload${workload} -p "redis.host=${server_ip}" -p  "redis.port=${port}" -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=***:*****"

#运行Workload C
workload=c
./bin/ycsb run redis -s -P workloads/workload${workload} -p "redis.host=${server_ip}" -p  "redis.port=${port}" -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=***:*****"

#运行Workload A
workload=a
./bin/ycsb run redis -s -P workloads/workload${workload} -p "redis.host=${server_ip}" -p  "redis.port=${port}" -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=***:*****" 
表 1. 参数说明
参数 说明
server_ip Redis实例的IP地址。
port Redis实例的服务端口。
recordcount 数据装载阶段准备的数据量。
operationcount 执行操作的数据量。
command_group 测试类型,配置为String。
fieldcount 字段个数,配置为1。
fieldlength 值长度,根据测试需求配置。
threads YCSB线程数,根据实例规格配置。