Redis安装及压力测试

想要进行Redis中的redis-benchmark模块的压力测试,首先需要安装redis

Windows环境

官网:https://redis.io/
推荐使用Linux服务器学习
windows版本的Redis已经停更很久了…
下载地址:https://github.com/dmajkic/redis
1.解压安装包
在这里插入图片描述
2.开启redis-server.exe
3.启动redis-cli.exe测试
在这里插入图片描述

Linux环境

1.下载安装包!redis-5.0.8.tar.gz

2.解压Redis的安装包!程序一般放在 /opt 目录下
在这里插入图片描述

3.基本环境安装

yum install gcc-c++
# 然后进入redis目录下执行
make
# 然后执行
make install

4.redis默认安装路径 /usr/local/bin
5.将redis的配置文件复制到 程序安装目录 /usr/local/bin/myconfig下
在这里插入图片描述

6.redis默认不是后台启动的,需要修改配置文件!将no改为yes
在这里插入图片描述
7.通过制定的配置文件启动redis服务
8.使用redis-cli连接指定的端口号测试,Redis的默认端口6379

在这里插入图片描述
9.查看redis进程是否开启
在这里插入图片描述
10.关闭Redis服务 shutdown

好了,现在我们有了redis环境,就可以进行redis压力测试,我们先来介绍一下~~

redis-benchmark简介

​ redis-benchmark是官方自带的Redis性能测试工具,用来测试Redis在当前环境下的读写性能。在使用Redis的时候,服务器的硬件配置、网络状况、测试环境都会对Redis的性能有所影响,我们需要对Redis实时测试以确定Redis的实际性能。

  • 语法格式:
redis-benchmark [参数] [参数值]

在这里插入图片描述
测试:
1. redis启动后进入到bin目录中,执行以下命令进行性能测试:

# 执行测试性能命令
./redis-benchmark -t set,get -n 100000

说明:因为测试的是本机的redis性能,所以没有指定IP和端口号。
-t:表示执行以逗号分隔的命令,执行的是set操作和get操作,如果不指定具体的值,测试的结果较多
执行结果如下:

====== SET ======
  100000 requests completed in 1.31 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

98.64% <= 1 milliseconds
99.85% <= 2 milliseconds
99.99% <= 3 milliseconds
100.00% <= 3 milliseconds
76335.88 requests per second

====== GET ======
  100000 requests completed in 1.26 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.27% <= 1 milliseconds
100.00% <= 1 milliseconds
79365.08 requests per second

反馈结果:
​ SET部分和GET部分,只需要关注最后一句输出即可,以GET为例,上述输出:79365.08 requests per second,表示每秒的GET命令处理79365.08个请求,也就是QPS为7.9W个。
​ 这里的数据都是理想数据,测试出来的QPS不能代表实际生产的处理能力,在实际生产中,服务器的硬件配置、网络状况、测试环境都会对Redis的性能有所影响。

那既然提到了QPS,就来了解一下相关概念~
在这里插入图片描述
在实际生产中,我们需要关心在应用场景中,redis能够处理的QPS是多少。我们需要估计生产的报文大小,使用benchmark工具指定-d数据块大小来模拟:

./redis-benchmark -t get -n 100000 -c 100 -d 2048

​ 指定并发数为100,数据大小为2048字节,在实际生产中,每个业务处理的数据大小不一致,取出一个最大的数据为基数进行测试即可,在程序里将数据的字节大小打印出来,使用redis-benchmark的-d参数指定数据大小。

​ 执行结果:

====== GET ======
  100000 requests completed in 1.37 seconds
  100 parallel clients
  2048 bytes payload
  keep alive: 1

94.15% <= 1 milliseconds
98.86% <= 2 milliseconds
99.80% <= 3 milliseconds
99.90% <= 4 milliseconds
99.92% <= 5 milliseconds
99.93% <= 6 milliseconds
99.96% <= 7 milliseconds
100.00% <= 8 milliseconds
100.00% <= 8 milliseconds
73206.44 requests per second

​ 使用redis客户端登录到redis服务中,执行info命令查看redis的信息。查看结果,输出的信息较多,查看# Memory下面的一些信息。

# 使用Redis客户端
./redis-cli
# 在客户端中执行info命令
127.0.0.1:6379> info


connected_clients:108 #redis连接数

used_memory:8367424 # Redis 分配的内存总量 
used_memory_human:7.98M
used_memory_rss:11595776 # Redis 分配的内存总量(包括内存碎片) 
used_memory_rss_human:11.06M
used_memory_peak:8367424
used_memory_peak_human:7.98M #Redis所用内存的高峰值
used_memory_peak_perc:100.48%

​ 需要关注used_memory_peak_human(redis已用内存)和used_memory(分配的内存总量),当used_memory_peak_human接近used_memory时就需要注意了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值