跳转到正文
型号与参数核对
联系业务人员

什么? Redis的QPS是MySQL的100倍吗?

我以前曾听别人说过  Redis& nbsp;具有优异的读写性能,适合缓存,但& MySQL& nbsp;不是。那么,您真的了解他们的读写差距吗?小江也有这个问题,他们的表现有多糟糕?所以这里有这篇文章。测试环境配置Ubuntu Intel Core i5-5257U CPU @ 2.70GHz 8GB DDR3、40GB SSD Redis Enter& Redis [1] 官方网站,请按照以下步骤进行安装。 $ wget http://download.redis.io/releases/redis-5.0.5.tar.gz$ tar xzf redis-5.0.5.tar.gz $ cd redis-5.0.5 $ make start service $ src / redis -server运行Redis& nbsp;自己的基准测试工具,运行set,获得1000000次,在1s后退出,并显示数据$ cd src $。/ redis-benchmark -n 1000000 -t set, get -q数据如下所示,结果为SET 48009,GET56960。SET:48009.98每秒请求GET:56960.59每秒请求当然,此数据是在不使用管道的情况下,那么使用管道的场景?正在运行的命令如下,运行set,得到1000000次,每次发送200个请求到服务器,在1s之后退出并显示数据$ cd src $ ./redis-benchmark -n 1000000 -t set,得到-P 200 -q数据如下所示,结果为SET 315258,GET330797。在这里您可以自己调整-P的值,当它升至30000时它将保持稳定,因此以下数据是理论上最好的测试数据。 SET:315258.53每秒的请求GET:330797.22每秒的请求好吧,在这里我们知道,Redis的粗略数据是50000-300,000,所以让我们快速看一下MySQL吗? MySQL可以访问MySQL [2]官方网站自行安装MySQL。我的服务环境是Ubuntu,所以我的安装命令如下:$ sudo apt-get install mysql-server $ sudo apt-get install mysql-client我测试MySQL使用sysbench [3]的性能。工具,因此我们接下来需要安装它。 $ url -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash sudo apt -y install sysbench安装sysbench后,它将位于/ usr / share / sysbench /目录下,将有一些可以直接使用的测试脚本。我们只需要手动创建一个名为基准的数据库,然后运行以下命令来准备数据->测试数据sysbench /usr/share/sysbench/oltp_read_write.lua --mysql- user = root --mysql-password = root --mysql-db = benchmark --tables = 10 --table-size = 1000000 --events = 100000000 --report-interval = 10 --threads = 4 --time = 300 preparesysbench /usr/share/sysbench/oltp_read_write.lua --mysql-user = root --mysql-password = root --mysql-db = benchmark --tables = 10 --table-size = 1000000 --events = 100000000 --report-interval = 10 --threads = 4 --time = 300 run运行后,数据如下[10s] thds:4 tps :198.84 qps:3982.73(r / w / o:2788.48 / 796.17 / 398.08)lat(ms,95%):54.83 err / s:0.00 reconn / s:0.00 [20s] thds:4 tps:174.38 qps:3486.62( r / w / o:2440.73 / 697.12 / 348.76)纬度(ms,95%):52.89 err / s:0.00 reconn / s:0.00 [30s] thds:4 tps:204.54 qps:4089.94(r / w / o: 2863.12 / 817.75 / 409.07)纬度(ms,95%):55.82 err / s:0.00 reconn / s:0.00 [40s] thds:4 tps:214.98 qps:4299.59(r / w / o:3009.71 / 859.92 / 429.96)纬度(毫秒,95%):49.21 err / s:0.00侦察/ s:0.00 [50s] thds:4 tps:188.31 qps:3767.98(r / w / o:2637.12 / 75 4.24 / 376.62)lat(ms,95%):52.89 err / s:0.00 reconn / s:0.00 [60s] thds:4 tps:228.00 qps:4559.06(r / w / o:3191.64 / 911.41 / 456.01)lat( ms,95%):49.21 err / s:0.00 reconn / s:0.00丁丁丁,您找到了吗?数据显示& nbsp; MySQL& nbsp; QPS& nbsp; 4000& nbsp;随处可见。结论这时,有一个句子脱口而出:重剑没有优势,而且行不通。 Redis的出色表现确实并不令人印象深刻。如“ Redis in Action”中所述,Redis的性能将是普通关系数据库的10-100倍。 ,如果您自己看不到它,就无法相信吗?这样您可以自己尝试? PS:当然,这并不意味着不使用MySQL。它们的不同特征决定了它们的方案。 MySQL的InnoDB引擎具有非常完善的事务处理系统,或者它是领导者。参考文献[1] Redis:https://redis.io/download [2] MySQL:https://dev.mysql.com/downloads/mysql/ [3]&sysbench:  https://github.com/akopytov/sysbench我特别推荐一种高质量的内容共享架构+算法。如果您没有关注,则可以长按以关注它:长按以订阅更多令人兴奋的内容▼如果您已了解,请单击此处查看,真诚的感谢