Redis比MySQL快多少?Jmeter压测告诉你 |
您所在的位置:网站首页 › redis写入性能差 › 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接口 一般情况下,衡量一个项目的性能,可以通过QPS或TPS来体现,在Jmeter中,Throughput一列可认为是该任务的QPS。 QPS: 每秒钟处理完请求的次数;注意这里是处理完。具体是指发出请求到服务器处理完成功返回结果。QPS = 并发量 / 平均响应时间 每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多。可以理解为每秒完成了多少事务(例如第秒生成了多少个订单)。 简单来说,100QPS表示这个项目1秒处理了100个请求 4.执行任务2,通过mysql访问用户数据,QPS:121 5.执行任务1,通过redis访问用户数据 OPS:790
测试环境 华为云 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读的速度是 110000次/s(11 W次/s),写的速度是81000次/s(8.1W 次/s) mysql未知(官方没有具体说明) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |