测试方法
本文介绍使用 redis-benchmark 进行 Redis Cluster 性能测试的具体方法。
前提条件
已创建 Redis Cluster 实例。
测试步骤
-
创建云服务器,云服务器选择与 Redis Cluster 实例相同可用区、VPC、私有网络和安全组。
-
在云服务器上安装 redis-benchmark。
-
创建并配置证书。具体操作请参见TLS 加密配置。
说明
本步骤仅在需要启用 TLS 连接进行加密端口性能测试时需要执行,若未配置 TLS 加密端口,仅测试明文端口执行性能,则跳过本步骤,直接执行步骤4。
-
在云服务器上执行测试命令。
redis-benchmark -h {IP} -p {Port} -a {password} -n {nreqs} -r {randomkeys} -c {connect_number} -d {datasize} -t {command} --cluster --tls --cert {cert_file_path} --key {key_file_path} --cacert {cacert_file_path}说明
以上参数中,--tls、--key、--cert 及 --cacert 仅在需要启用 TLS 进行加密端口性能测试时需要。
具体参数说明见下表。
| 参数 | 参数说明 |
|---|---|
| -h | Redis Cluster 实例的内网连接地址。请参见获取连接地址。 |
| -p | Redis Cluster 实例的服务端口,默认为 6379,若启用了 TLS,则为 TLS 端口。 |
| -a | Redis Cluster 实例的密码。无密码时可不填写。 说明 如果是使用默认账号,直接填写 <password>即可。如果是新创建的账号,则填写<user>:<password>。例如:账号为test,密码为redis@123,则填写 test:redis@123。 |
| -n | 测试的总请求数量,可设置较大的值以持续压测。 |
| -r | 使用随机 key 数量,即使用多少个不同 key。 |
| -c | 并发的客户端连接数量。 |
| -d | SET 或 GET 所操作的值的数据大小,单位为字节(Byte)。 |
| -t | 需要执行的测试命令,如set、get |
| --threads | 启动多线程压测,并指定线程个数。 |
| --cluster | 启用集群模式压测,测试整个集群。 |
| --tls | 启用安全 TLS 连接。 |
| --cert | 用于进行身份验证的客户端证书。 |
| --key | 用于进行身份验证的私钥文件。 |
| --cacert | 用于验证的 CA 证书文件。 |