This topic describes how to test persistent memory-optimized instances of ApsaraDB for Redis Enhanced Edition (Tair).

Workloads

The total amount of data involved in the test is 8 GB. The data distribution method is Zipfian. The performance of persistent memory-optimized instances was tested in the following scenarios:

  • Data loading: 100% write operations.
  • Workload C: 100% read operations.
  • Workload A: 50% update operations and 50% read operations.

For more information about workloads, see Core Workloads.

Note The complex commands for sets and Zsets cannot be tested in this test due to their applicable scenarios. You can customize a test for sets and Zsets based on your business scenario.

Test commands

# Load 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=***:*****"

# Run Workload 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=***:*****"

# Run Workload 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=***:*****" 
Table 1. Parameters
Parameter Description
server_ip The IP address of the ApsaraDB for Redis instance.
port The service port of the ApsaraDB for Redis instance.
password

The password format varies based on the selected account:

  • Default account (the account named after the instance ID): Directly enter the password.
  • If you use a custom account, enter the password in the format of <user>:<password>. For example, if the username of the custom account is testaccount and the password is Rp829dlwa, you must enter testaccount:Rp829dlwa.
Note If you forget your password, you can reset it. For more information, see Change or reset the password.
recordcount The number of records that you want to load.
operationcount The number of operations that you want to perform on the workload.
command_group The type of data that you want to test. In this test, the following types of data are tested in sequence:
  • string
  • hash
  • list
  • set
  • zset
fieldcount The number of fields or elements. To test strings, set this parameter to 1. To test other types of data, set this parameter to 10.
fieldlength The length of a value. Set this parameter based on the test requirements.
threads The number of Yahoo! Cloud Serving Benchmark (YCSB) threads. Set this parameter based on the instance type.