redis 性能测试 (推荐:redis入门教程)
语法
redis-benchmark [option] [option value]
实例
实例一
以下实例同时执行 1000 个请求来检测性能:
$ redis-benchmark -n 1000 -q
ps: 本地 docker 暂时不支持命令。结果跳过,请自行测试。
redis:6379> benchmark -n 1000 -q(error) err unknown command 'benchmark'
实例二
主机为 127.0.0.1,端口号为 6379,执行的命令为 set, lpush,请求数为 1000,通过 -q 参数让结果只显示每秒执行的请求数。
$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 1000 -q
性能测试参数
序号选项描述默认值
1 -h 指定服务器主机名 127.0.0.1
2 -p 指定服务器端口 6379
3 -s 指定服务器 socket
4 -c 指定并发连接数 50
5 -n 指定请求数 10000
6 -d 以字节的形式指定 set/get 值的数据大小 2
7 -k 1=keep alive 0=reconnect 1
8 -r set/get/incr 使用随机 key, sadd 使用随机值
9 -p 通过管道传输 请求 1
10 -q 强制退出 redis。仅显示 query/sec 值
11 –csv 以 csv 格式输出
12 -l 生成循环,永久执行测试
13 -t 仅运行以逗号分隔的测试命令列表。
14 -i idle 模式。仅打开 n 个 idle 连接并等待。
redis 客户端连接
redis 通过监听一个 tcp 端口或者 unix socket 的方式来接收来自客户端的连接,当一个连接建立后,redis 内部会进行以下一些操作:
首先,客户端 socket 会被设置为非阻塞模式,因为 redis 在网络事件处理上采用的是非阻塞多路复用模型。
然后为这个 socket 设置 tcp_nodelay 属性,禁用 nagle 算法
然后创建一个可读的文件事件用于监听这个客户端 socket 的数据发送
最大连接数
redis:6379> config get maxclients1) "maxclients"2) "10000"
实例
启动时设置最大连接数为 999
redis-server --maxclients 999
客户端命令
s.n.命令描述
1 client list 返回连接到 redis 服务的客户端列表
2 client setname 设置当前连接的名称
3 client getname 获取通过 client setname 命令设置的服务名称
4 client pause 挂起客户端连接,指定挂起的时间以毫秒计
5 client kill 关闭客户端连接
推荐:redis视频教程
以上就是redis性能测试与客户端连接详解的详细内容。
