redis性能测试与客户端连接详解

redis-性能测试">redis性能测试与客户端连接详解

redis-性能测试">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-k1=keep alive 0=reconnect1
8-rSET/GET/INCR 使用随机 key, SADD 使用随机值
9-P通过管道传输 请求1
10-q强制退出 redis。仅显示 query/sec 值
11–csv以 CSV 格式输出
12-l生成循环,永久执行测试
13-t仅运行以逗号分隔的测试命令列表。
14-IIdle 模式。仅打开 N 个 idle 连接并等待。

redis-客户端连接">Redis 客户端连接

Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作:

首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。

然后为这个 socket 设置 TCP_NODELAY 属性,禁用 Nagle 算法

然后创建一个可读的文件事件用于监听这个客户端 socket 的数据发送

最大连接数

redis:6379> config get maxclients
1) "maxclients"
2) "10000"

实例

启动时设置最大连接数为 999

redis-server --maxclients 999

客户端命令

S.N.命令描述
1CLIENT LIST返回连接到 redis 服务的客户端列表
2CLIENT SETNAME设置当前连接的名称
3CLIENT GETNAME获取通过 CLIENT SETNAME 命令设置的服务名称
4CLIENT PAUSE挂起客户端连接,指定挂起的时间以毫秒计
5CLIENT KILL关闭客户端连接

推荐:redis视频教程

以上就是redis性能测试与客户端连接详解的详细内容,更多请关注其它相关文章!