docker 部署 redis与性能测试

in Linux with 0 comment

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 

image-20200324133059225

进入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-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 连接并等待。