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 -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 maxclients
1) "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,java,缓存之旅,redis)