Redis比MySQL快多少?Jmeter压测告诉你

在一些高并发场景中,通常我们会选择redis做缓存,防止所有请求同时发到DB中,造成响应速度急剧下降。众所周知,redis是一个高性能的key-value型内存数据库,它的速度会比mysql快很多,但是在具体的项目中会比mysql快多少呢?为了更直观的体现出差距,这篇文章中我用了Jmeter,一款apache的压力测试工具做了一个小的数据对比

测试思路:分别在mysql和redis中存入一条用户数据。提供两个测试接口,分别用来请求mysql和redis中的用户数据,用Jmeter压力测试工具模拟1000个请求同时请求某个接口

测试步骤:(Java,sql代码就不贴出来了,主要说明一下测试过程)

1.Jmeter配置1000个线程来同时访问,并设置访问的主机,端口号
在这里插入图片描述

​2.新建任务1:用来访问redis接口
在这里插入图片描述
3.新建任务2:用来访问mysql接口
在这里插入图片描述

一般情况下,衡量一个项目的性能,可以通过QPSTPS来体现,在Jmeter中,Throughput一列可认为是该任务的QPS。

QPS: 每秒钟处理完请求的次数;注意这里是处理完。具体是指发出请求到服务器处理完成功返回结果。QPS = 并发量 / 平均响应时间

每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多。可以理解为每秒完成了多少事务(例如第秒生成了多少个订单)。

简单来说,100QPS表示这个项目1秒处理了100个请求

4.执行任务2,通过mysql访问用户数据,QPS:121

在这里插入图片描述

5.执行任务1,通过redis访问用户数据 OPS:790

在这里插入图片描述
性能差距:790/120 = 6.8

测试环境

华为云

1vCPUs | 2GB | s3.medium.2

Ubuntu 16.04 server 64bit

在这个小的测试中redis的QPS比mysql的高了7倍,也就是说redis的请求处理速度比mysql高了7倍。当然,实际redis的速度会快得多,根据不同机器、环境、业务代码,具体表现也不一样

​ (PS:这个测试可能存在一些不严谨的地方,主要用来直观地体现mysql与redis速度差距)
在LINUX环境中,以下命令可以测试redis的get,set性能

redis-benchmark -t set,get -n 100000 -q

在这里插入图片描述
可见,redis每秒的可以处理4W多个get或set请求

官方数据:

redis读的速度是 110000次/s(11 W次/s),写的速度是81000次/s(8.1W 次/s)

mysql未知(官方没有具体说明)

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!要使用 JMeter 进行 Redis 的压力测试,您需要做以下几个步骤: 1. 安装 JMeter:您可以从 JMeter 的官方网站(https://jmeter.apache.org/)下载并安装 JMeter。 2. 安装 JMeter 插件:为了进行 Redis 压力测试,您需要安装 Redis 插件。您可以从 JMeter 的插件管理器中搜索并安装 "Redis Data Set" 和 "Redis Sampler" 插件。 3. 配置 Redis 连接:在 JMeter 中,创建一个线程组,并在线程组下创建一个 "Redis Data Set" 配置元件。在该配置元件中,您可以设置 Redis 服务器的主机名、端口以及其他相关连接参数。 4. 添加压力测试样本:在线程组下创建一个 "Redis Sampler" 元件。在该元件中,您可以选择要执行的 Redis 命令(如 GET、SET、INCR 等),并设置相应的键值对。 5. 配置压力测试参数:您可以在 "Redis Sampler" 元件中设置并发线程数、循环次数、请求延迟等参数,以模拟真实的压力场景。 6. 运行压力测试:保存并运行您的测试计划,JMeter 将模拟指定数量的并发用户对 Redis 服务器执行相应的操作,并记录响应时间等性能指标。 请注意,在进行 Redis 压力测试时,确保您已经了解 Redis 的相关命令和操作,并根据实际需求进行配置和测试。此外,为了准确评估 Redis 的性能,建议在目标环境中进行真实的负载测试。 希望以上信息能对您有所帮助!如有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值