首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据库性能评测:整体性能对比

数据库性能评测:整体性能对比

原创
作者头像
李俊飞
修改于 2017-07-04 08:41:18
修改于 2017-07-04 08:41:18
23.4K2
举报
文章被收录于专栏:李俊飞的专栏李俊飞的专栏

导语

随着版本升级,关系型数据库和缓存数据库整体性能比之前都有大幅度的提升,衡量数据库性能的三个重要指标是:数据库吞吐量(QPS)、延迟时长(Latency)和稳定性,以下从这三个方面对几种数据库进行了对比测试。

一、性能测试报告与分析

测试1-3是在TS90服务器上的测试结果,测试4对比数据库在TS80和TS90上性能。

1、各数据库的峰值吞吐量对比

结果分析: 1) 在典型业务模式下(SELECT:UPDATE=95:5),MySQLMongoDB差不多,QPS的峰值能到每秒28万左右,Redis为9.6万; 2) 数据写入速度方面,MongoDB的QPS在每秒30万以上,Redis为4.6万,MySQL 2.3万。

2、不同业务模式的峰值吞吐量

注:横轴为业务模式,100:0表示SELECT与UPDATE比例为100比0,其他类似;纵轴为QPS。

结果分析: 1) MySQL和MongoDB数据库,峰值QPS随写比例的提高逐渐下降,Redis相反,各种业务模式的峰值QPS见上图。

3、典型业务模式,不同并发压力的数据库性能

注:横轴为并发数;左侧曲线图的纵轴为QPS,右侧曲线图的纵轴为延迟时间。

结果分析:

1) MySQL和MongoDB在100个并发时吞吐量达到峰值,平均延迟随并发度增加基本呈线性趋势; 2) MongoDB并发超过100后,QPS下降很快,跟客户端驱动的连接池默认配置100个连接有关,增加测试客户端或调大连接池,QPS还可以更高。

4、TS80和TS90服务器性能对比

结果分析: 1) 典型业务压力下,MySQL和MongoDB在TS90的吞吐量是TS80的2倍,Redis变化不大; 2) 对于写入测试,MongoDB在TS90的写入速度是TS80的1.5倍,MySQL和Redis变化不大。

二、测试环境

1、硬件环境

设备型号

配置描述

CPU型号

TS80

2个6核CPU,64G内存,12*480G SSD,1*80G SSD,万兆网卡

E5-2620v3

TS90

2个12核CPU,256G内存,12*800G SSD,万兆网卡

E5-2670v3

2、软件环境

测设设备

数据库版本

TS80_1, TS80_2

MySQL 5.6.35,Redis 3.2.6,MongoDB 3.4.1

TS90_1, TS90_2

MySQL 5.6.35,Redis 3.2.6,MongoDB 3.4.1

3、数据库参数配置

数据库

参数

MySQL

binlog_format = mixedbinlog_cache_size = 2Mmax_binlog_cache_size = 4Gkey_buffer_size = 2M sort_buffer_size = 2Mread_buffer_size = 2Mread_rnd_buffer_size = 16Mjoin_buffer_size = 2Mthread_cache_size = 1024query_cache_size = 1Mquery_cache_limit = 1Mquery_cache_min_res_unit = 2ktable_open_cache = 2048open_files_limit = 65535back_log = 3000max_connections = 4000max_user_connections = 2500max_connect_errors = 100max_allowed_packet = 512Mthread_stack = 192kdefault-storage-engine = INNODBtransaction_isolation = READ-COMMITTEDtmp_table_size = 16Mmax_heap_table_size = 64Mbulk_insert_buffer_size = 64Mlong_query_time = 0.5slow_query_log = onskip-name-resolveinnodb_buffer_pool_size = 40Ginnodb_data_file_path = ibdata1:2G:autoextendinnodb_file_io_threads = 24innodb_purge_threads = 12innodb_read_io_threads = 24innodb_write_io_threads = 24innodb_thread_concurrency = 24innodb_buffer_pool_instances = 8innodb_flush_log_at_trx_commit= 1innodb_log_buffer_size = 16Minnodb_log_file_size = 2Ginnodb_log_files_in_group = 2innodb_max_dirty_pages_pct = 75innodb_lock_wait_timeout = 50innodb_file_per_table = 1

MongoDB

journal

三、测试方法

  1. 每个测试的硬件环境和数据量基本一致,数据库都按单实例方式部署。各数据库都包含单张表(10个字段),1000万条记录,每条记录长度1KB。
  2. 测试工具是YCSB(Yahoo! Cloud Serving Benchmark详细介绍见这里),使用YCSB的不同workload压力配置模版,模拟以下业务场景组合,对数据库进行压测。 读写比例:95:5 50:50 100:0 0:100,读写对应为SELECT:UPDATE操作 并发线程:10 50 100 150 300 500 1000
  3. 测试前预热数据,避免缓存数据加载引起的性能降低。
  4. 测试数据库部署为单实例,测试客户端部署一个YCSB实例,YCSB发起多个并发线程对数据库进行压力测试。力测试。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
2 条评论
热度
最新
为什么mysql qps比redis高
为什么mysql qps比redis高
11点赞举报
因为redis只用单线程,都用单线程,这里看redis是他们的四倍左右
因为redis只用单线程,都用单线程,这里看redis是他们的四倍左右
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
数据库评测报告第二期:MongoDB-3.2
一、什么是MongoDB? MongoDB是一个开源的,基于分布式的,面向文档存储的非关系型数据库,使用JSON风格来存储数据。其也是非关系型数据库当中功能最丰富、最像关系数据库的。MongoDB由C
迪B哥
2017/07/13
2.8K0
数据库评测报告第二期:MongoDB-3.2
【数据库评测报告】MyRocks VS MySQL57
本文介绍了MySQL 5.6中InnoDB存储引擎的压缩特性,通过对比非压缩和压缩状态下的性能表现,展示了压缩特性对数据库性能的提升。同时,文章还介绍了MySQL 5.7中InnoDB存储引擎的新特性,包括JSON支持、Full Text Search、InnoDB Cluster等,并探讨了这些新特性对MySQL 5.7性能的影响。
周奇
2017/07/07
5.2K0
【数据库评测报告】MyRocks VS MySQL57
PXC安装+keepalived配置
💡 PXC(Percona XtraDB Cluster)是一个开源的、高可用性的MySQL解决方案,它基于Galera集群技术,提供了内置的多主节点、同步复制和故障转移等功能。PXC支持无需共享存储就能实现可扩展性和高可用性,使得应用程序能够更好地应对高并发访问和故障恢复。PXC集群主要由两部分组成:Percona Server with XtraDB和Write Set Replication patches(同步、多主复制插件)
救救404
2023/09/15
5370
RedisJson 横空出世,性能碾压ES和Mongo!
近期官网给出了RedisJson(RedisSearch)的性能测试报告,可谓碾压其他NoSQL,下面是核心的报告内容,先上结论:
Java团长
2021/12/21
3.1K1
RedisJson 横空出世,性能碾压ES和Mongo!
【数据库评测报告】第三期:innodb、tokudb压缩性能
这一期的数据库测评报告让咱们一起来讨论下数据压缩这一话题。
迪B哥
2018/11/29
2.7K0
云数据库VS自建数据库,到底该如何抉择?
有赞的基础架构使用了UCloud的基础服务,我们有相当比例的数据库是UCloud的RDS(一部分使用云RDS,一部分使用购买他们的物理服务器自建数据库)。
老叶茶馆
2020/09/07
1.7K0
云数据库VS自建数据库,到底该如何抉择?
畅游数据库性能优化过程简析(上)
本文主要介绍了一种基于MySQL数据库的表结构设计,旨在解决大数据量、高并发访问场景下,数据库的查询性能问题。通过合理的表结构设计、索引优化、缓存策略,使得数据库能够在大流量、高并发的情况下,仍然保持较高的查询性能。同时,针对可能出现的性能问题,提供了相应的优化建议。
musazhang
2017/06/19
3.6K0
RedisJson 横空出世,性能碾压 ES 和 MongoDB !
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/08/29
7590
RedisJson 横空出世,性能碾压 ES 和 MongoDB !
微博MySQL优化之路 - 肖鹏
肖鹏老师对于开源数据库尤其是MySQL的研究特别深入,今天我们来一起听他分享自己对MySQL数据库的优化经验! 作者简介 肖鹏 微博研发中心数据库技术负责人,主要负责微博数据库(MySQL/Reids
数据和云
2018/03/06
1.4K0
微博MySQL优化之路 - 肖鹏
三款云数据库性能测试,谁表现最好?
MySQL性能压测或者基准测试看起来很简单,使用sysbench,tpcc工具跑跑拿到数据就好,其实压测是一个技术活儿,尤其是涉及到性能对比的测试,因为不同场景/不同厂商的产品的参数设置不同,测试的结果也不一样。如果不阐明具体的参数配置差异,直接给出压测结果可能给其他人带来误导。
用户1278550
2020/04/08
3.3K0
三款云数据库性能测试,谁表现最好?
数据库评测报告第一期:MySQL-5.7
该文章是一篇关于MySQL数据库引擎优化实践的技术文章。通过对比MySQL和MariaDB两种数据库引擎的优化实践,总结了在数据库优化方面的经验,包括MySQL数据库引擎选择、MariaDB数据库引擎选择、MySQL数据库引擎优化实践、MariaDB数据库引擎优化实践和MySQL与MariaDB性能比较。
迪B哥
2017/07/12
3K4
数据库评测报告第一期:MySQL-5.7
流计算框架 Flink 与 Storm 的性能对比
1. 背景 Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架。其中 Apache Storm(以下简称“Storm”)在美团点评实时计算业务中已有较为成熟的运用(可参考 Storm 的可靠性保证测试:https://tech.meituan.com/test-of-storms-reliability.html),有管理平台、常用 API 和相应的文档,大量实时作业基于 Storm 构建。而 Apache Flink(以下简称“Flink”)在近期倍受关注,
用户1257393
2018/01/30
1.4K0
流计算框架 Flink 与 Storm 的性能对比
磊哥评测之数据库:腾讯云MongoDB vs自建
上期文章我们聊到了redis。这期我们来说说另一个网红nosql数据库:MongoDB。有这么一个介绍MongoDB的说法是:MongoDB是非关系数据库当中功能最丰富,最像关系数据库的。这么说是因为作为一个面向文档存储型、数据结构非常松散自由的的数据库,却拥有着丰富的功能特性如强大灵活的查询语言、支持二级索引等特性,新版本的MongDB甚至还支持事务。听小伙伴说MongoDB不仅功能丰富,而且读性能强大到远远把MySQL甩在后面,今天我就代替大家来动手进行一下数据库测试,揭开MongoDB的神秘“面纱”。
磊哥测评
2019/01/28
1.9K0
磊哥评测之数据库:腾讯云MongoDB vs自建
没有宫廷内斗,数据库界的延禧攻略
作者 | 张甦, 数据库领域的专家和知名人士、图书《MySQL王者晋级之路》作者,51CTO 专家博主。近10年互联网线上处理及培训经验,专注于 MySQL 数据库,对 MongoDB、Redis 等 NoSQL 数据库以及 Hadoop 生态圈相关技术有深入研究,具备非常丰富的理论与实战经验。
数据和云
2018/10/08
6440
没有宫廷内斗,数据库界的延禧攻略
高可用mongodb集群(分片+副本):性能测试
Yahoo! Cloud Serving Benchmark (YCSB) 是一个Java语言实现的用于云端或者服务器端的数据库性能测试工具,其内部涵盖了常见的NoSQL数据库产品,如Cassandra、MongoDB、HBase、Redis等等。
雪人
2022/10/13
1.6K0
享知行·技术:Linux环境Mysql安装和踩过的那些坑
Linux环境mysql安装,主从复制、跨机房数据同步、备份还原。 mysql下载安装地址:https://dev.mysql.com/downloads/mysql/5.6.html Mysql安装
用户4361942
2019/05/24
4650
MySQL centos 6 vs 7的性能对比
计划今年将数据库服务器的os 从centos 6 升级到centos 7,根据惯例,升级之前我们要进行一次性能压测。本文分享一下我们的压测记录和结果。
用户1278550
2019/06/12
8790
【腾讯云 TDSQL-C Serverless 产品测评】“橡皮筋“一样的数据库『MySQL高压篇』
腾讯云TDSQL-C产品测评活动”是由腾讯云联合CSDN 推出的针对数据库产品测评及产品体验活动,本次活动主要面向 TDSQL-C Serverless 版;活动整体包括了技术分享直播及线上答疑、连续三个月做三季的产品体验、产品测评、优质征文活动以及最后的优秀用户线上圆桌对话直播环节:本次参与活动涵盖不同技术层面的用户,初步的产品体验或针对TDSQL-C产品的自动弹性能力、自动启停能力、兼容性、安全、并发、可靠性等多方面的产品测评,并通过征文的方式输出,参与活动的同时既可以收获相关技术领域的实战经验同时也可获得丰厚的活动激
指剑
2023/08/26
5.3K0
【腾讯云 TDSQL-C Serverless 产品测评】“橡皮筋“一样的数据库『MySQL高压篇』
分析MySQL数据库的各项优化指标
对于MySQL数据库中,千万级别或者上亿级别的大表如何优化?首先需要考虑执行计划优化SQL语句和索引,然后再考虑前段加缓存memcached、Redis数据库,如果还达不到效果,就要使用MySQL数据库集群,配置读写分离架构,配置MySQL表分区,配置MyCat分表分库等。
无忧摸鱼
2022/05/31
1.6K0
联合评测 | GreatSQL 开源数据库在 DapuStor Roealsen5 NVMe SSD 中的应用探索
北京万里开源软件有限公司,是专注于国产自主可控数据库产品研发超 20年的国家高新技术企业,参与多个国家级的数据库行业标准制定工作。本次用于测试的 GreatSQL 开源数据库是适用于金融级应用的国内自主 MySQL 版本,专注于提升 MGR 可靠性及性能,支持 InnoDB 并行查询等特性,可以作为 MySQL 或 Percona Server 的可选替换,用于线上生产环境,且完全免费并兼容 MySQL 或 Percona Server。
GreatSQL社区
2023/02/22
9710
推荐阅读
相关推荐
数据库评测报告第二期:MongoDB-3.2
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档