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

Workloads

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

  • Data loading: 100% string set operations (write operations).
  • Workload C: 100% string get operations (read operations).
  • Workload A: 50% string set operations (update operations) and 50% string get operations.

For more information about workloads, see Core Workloads.

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.
  • Custom account: The password must be in the format of <username>:<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 to be performed on the workload.
command_group The type of data to be tested. 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 the parameter to 1. To test other types of data, set the parameter to 10.
fieldlength The length of a value. Set this parameter based on the test requirements.
threads The number of YCSB threads. Set this parameter based on the instance type.