美文网首页
单机MySQL数据库可以支撑多大数据量

单机MySQL数据库可以支撑多大数据量

作者: AC编程 | 来源:发表于2023-07-31 08:54 被阅读0次

一、抗并发量

1.1 一台4核8G的机器能扛多少并发量呢

说实话,要解决这个问题,一般来说,不是先聊数据能抗多少压力,因为往往不是数据库先去抗高并发,而是你连接数据库的web系统得先去抗高并发。也就是我们的spring boot+ssm那套业务系统能抗多高并发我们得先搞清楚。所以要搞明白这个问题,就得先说一个主题,一般来说我们的spring boot应用系统大致就是部署在2核4G或者4核8G的机器上,这个机器配置其实是很关键的,所以这里直接告诉大家一个经验值,即使说咱们如果部署的是一个4核8G的机器,然后spring boot内嵌的tomcat默认开了200个线程来处理请求,接着每个请求都要读写多次数据库,那么此时,大致来说你的一台机器可以抗大概500~1000这个并发量,具体多少得看你的接口复杂度。

1.2 高并发来袭时数据库会先被打死吗

所以其实一般来说,当你的高并发压力来袭的时候,通常不会是数据库先扛不住了,而是你的业务系统所在机器抗不住了,比如你部署了2台机器,那么其实到每秒一两千并发的时候,这两台机器基本上cpu负载都得飙升到90%以上 ,压力很大,而且接口性能会开始往下掉很多了。

那么这个时候我们的数据库压力会如何呢?其实一般来说你的两台机器抗下每秒一两千的请求的时候后,数据库压力通常也会到一个小瓶颈,因为为什么呢?关键是你的业务系统处理每个业务请求的时候,他是会读写多次数据库的,所以业务系统的一次请求可能会导致数据库有多次请求,也正因为这样,所以此时可能你的数据库并发压力会到几千的样子。

1.3 8核16G的数据库每秒大概可以抗多少并发压力

那么所以下一个问题来了,你的数据库通常是部署在什么样配置的机器上?一般来说给大家说,数据库的配置如果是那种特别低并发的场景,其实2核4G或者4核8G也是够了,但是如果是常规化一点的公司的生产环境数据库,通常会是8核16G。那么8核16G的数据库每秒大概可以抗多少并发压力?大体上来说,在几千这个数量级。因为这个具体能抗多少并发也得看你数据库里的数据量 以及你的SQL语句的复杂度,所以一般来说8核16G的机器,大概也就是抗到每秒几千并发就差不多了,量再大基本就扛不住了,因为往往到这个量级下,数据库的cpu、内存、网络、io的负载基本都很高了,尤其是cpu,可能至少也在百分之七八十了。

二、数据库架构可以从哪些方面优化

2.1 根据业务系统拆分多个数据库机器优化方案

如果到了这个并发压力之下,通常来说可以如何进行数据库架构的优化呢?其实也简单,我们完全可以加机器,把数据库部署到多台机器上去。因为通常来说,我们的一个数据库里会放很多业务系统的db和tables,所以首先就是可以按照业务系统来进行拆分,比如说多加一台机器,再部署一个数据库,然后这里放一部分业务系统的db和tables,老数据库机器放另外一部分业务系统的db和tables,此时一下子就可以缓解老数据库机器的压力了。

2.2 读写分离架构优化方案

那么接着问题来了,如果说并发压力继续提升,导致拆分出去的两台数据库压力越来越大了呢?此时可以上一招,叫做读写分离,就是说给每个数据库挂一个从库,让主数据库基于binlog数据更新日志同步复制给从数据库,让主从数据库保持数据一致,然后我们的系统其实可以往主库里写入,在从库里查询,此时就又可以缓解原来的主数据库的压力了。

2.3 分库分表架构优化方案

再往下说,如果说即使是给主数据库挂了从库,然后接着并发压力继续提升,让我们的主数据库写入压力过大,每秒几千写入,又要扛不住了呢?此时就只能上终极方案,分库分表了,就是把主库拆分为多个库,每个库里放一个表的部分数据,然后用多个主库抗高并发写入压力,这样就可以再次分散我们的压力了。

三、总结

架构演变:刚开始你单台数据库机器抗几千并发扛不住了,就按照业务系统拆分多个数据库机器,然后再扛不住了,就上主从架构分摊读写压力,再扛不住了就分库分表,多个机器抗数据库写入压力,最后总是可以用数据库架构抗住高并发压力的。

相关文章

  • 单机数据库优化的一些实践

    0、前言 数据库优化有很多可以讲,按照支撑的数据量来分可以分为两个阶段:单机数据库和分库分表,前者一般可以支撑50...

  • MySql的读写分离

    数据量增多,单机的数据库不足以支撑业务,需要用到数据库集群。而读写分离,就是将数据库的读和写分离,对应到数据库一般...

  • MySQL数据库导入导出大数据量注意事项

    MySQL数据库导入导出大数据量注意事项 MySQL导出导入小数据量时可以使用Navicate等客户端工具,但是当...

  • 搞懂MySQL主从复制方案:异步复制、同步复制、半同步复制

    1 单机 =》集群 随着数据量的增大,读写并发的增加,系统可用性要求的提升,单机 MySQL 出现危机: 容量问题...

  • 大厂都在用的MySQL主从复制、读写分离及高可用方案

    1 单机 =》集群 随着数据量的增大,读写并发的增加,系统可用性要求的提升,单机 MySQL 出现危机: 容量问题...

  • 10分钟上手图数据库Neo4j

    随着互联网不断的发展,传统的关系型数据库如oracle,mysql已经难以支撑现下大数据量,高并发的场景了。于是,...

  • 虐人的京东云 & 携程&美团

    影响mysql性能的有哪些因素,具体怎样优化 mysql单机各项瓶颈是多少,支撑多少数据,多少张表,返回时间,支撑...

  • go gorm笔记

    原文链接 对于个人来说,数据量不是很大,单机的 mysql 足够存下所有数据,mysql 作为底层存储是个不错的选...

  • Mysql集群PXC (入门)

    为什么需要MySQL集群 传统数据库单机单节点,容灾性能差,例如数据库挂掉,整个网站就会挂掉。单机单节点的数据库性...

  • 数据库备份方法

    本文使用的数据库为MYSQL 一、数据量不大时,可以搭建主从环境 二、mysqldump (30G以内) 全备、导...

网友评论

      本文标题:单机MySQL数据库可以支撑多大数据量

      本文链接:https://www.haomeiwen.com/subject/ldjgudtx.html