docker 部署 redis与性能测试
docker 部署 redis
查找需要的redis版本:
docker search redis
下载redis官方版本:
docker pull redis //在不指定版本的情况下,默认下载的是redis的最新版本
docker pull redis:5.0.5 //下载指定的redis版本,例如:redis:5.0.5
docker image ls redis //查看redis镜像,也可使用:docker images 或 docker image ls
docker images 是 docker image ls的简写命令。docker未来可能会删除此简写命令
创建redis镜像容器并挂载外部目录到redis镜像:
docker run -p 6379:6379 --name redis -v /var/redisData/:/data -d redis:latest redis-server --appendonly yes
-p 指定容器端口指向本地端口
--name 别名
-v 挂载数据卷
-d 后台运行容器,并返回容器ID;
-i 以交互模式运行容器,通常与 -t 同时使用;
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
查看容器启动情况:
docker ps
进入redis控制台:
docker exec -it redis redis-cli
127.0.0.1:6379>
redis性能测试
redis性能测试是同时执行多个命令实现的
语法
redis 性能测试的基本命令如下:
redis-benchmark [option] [option value]
注意:该命令是在 redis 的目录下执行的,而不是 redis 客户端的内部指令。
实例
在redis-cli中以下实例同时执行 10000 个请求来检测性能出错:
127.0.0.1:6379> redis-benchmark -n 100000 -q
(error) ERR unknown command `redis-benchmark`, with args beginning with: `-n`, `100000`, `-q`,
在docker中使用redis-benchmark测试性能:
[[email protected] redisData]# docker exec -it 323bbce01b72 redis-benchmark -p 6379 -c 100 -n 100000
以下实例我们使用了多个参数来测试 redis 性能:
[[email protected] redisData]# docker exec -it redis redis-benchmark -h 47.105.95.140 -p 6379 -t set,lpush -n 10000 -q
SET: 721.66 requests per second
LPUSH: 695.94 requests per second
以上实例中主机为 127.0.0.1,端口号为 6379,执行的命令为 set,lpush,请求数为 10000,通过 -q 参数让结果只显示每秒执行的请求数
redis 性能测试工具可选参数如下所示:
序号 | 选项 | 描述 | 默认值 |
---|---|---|---|
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 连接并等待。 |
本文由 wayne 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Aug 15,2019