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

您所在的位置:网站首页 redis写入性能差 Redis比MySQL快多少?Jmeter压测告诉你

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

2023-12-14 06:40| 来源: 网络整理| 查看: 265

在一些高并发场景中,通常我们会选择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接口 在这里插入图片描述

一般情况下,衡量一个项目的性能,可以通过QPS或TPS来体现,在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未知(官方没有具体说明)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3