生产mysql数据库配置_MySQL 真实生产环境下的数据库机器配置如何规划

普通的Java应用系统部署在机器上能抗多少并发?

通常来说,根据我们的经验值而言,Java应用系统部署的时候常选用的机器配置大致是2核4G和4核8G的较多一些,数据库部署的时候常选用的机器配置最低在8核16G以上,正常在16核32G

那么以我们大量的高并发线上系统的生产经验观察下来而言,一般Java应用系统部署在4核8G的机器上,每秒钟抗下500左右的并发访问量,差不多是比较合适的,当然这个也不一定。

因为你得考虑一下,假设你每个请求花费1s可以处理完,那么你一台机器每秒也许只可以处理100个请求,但是如果你每个请求只要花费100ms就可以处理完,那么你一台机器每秒也许就可以处理几百个请求。

所以一台机器能抗下每秒多少请求,往往是跟你每个请求处理耗费多长时间是关联的,但是大体上来说,根据我们大量的经验观察而言,4核8G的机器部署普通的Java应用系统,每秒大致就是抗下几百的并发访问,从每秒一两百请求到每秒七八百请求,都是有可能的,关键是看你每个请求处理需要耗费多长时间。

高并发场景下,数据库应该用什么样的机器?

对于数据库而言,我们刚才也说过了,通常推荐的数据库至少是选用8核16G以的机器,甚至是16核32G的机器更加合适一些。

因为大家要考虑一个问题,对于我们的Java应用系统,主要耗费时间的是Java系统和数据库之间的网络通信。

对Java系统自己而言,如果你仅仅只是系统内部运行一些普通的业务逻辑,纯粹在自己内存中完成一些业务逻辑,这个性能是极高极高的。

对于你Java系统接收到的每个请求,耗时最多的还是发送网络请求到数据库上去,等待数据库执行一些SQL语句,返回结果给你。

所以其实我们常说你有一个Java系统压力很大,负载很高,但是其实你要明白一点,你这个Java系统其实主要的压力和复杂都是集中在你依赖的那个MySQL数据库上的!

因为你执行大量的增删改查的SQL语句的时候,MySQL数据库需要对内存和磁盘文件进行大量的IO操作,所以数据库往往是负载最高的!这个问题我们在之前4篇文章里,通过MySQL数据库架构原理的分析,都已经讲解过了。

而你的Java系统一般并不需要你去直接大量的读写本地文件进行耗时的IO操作吧?是不是,想必做过Java开发的朋友一下子就会想明白这个道理。

然后通过我们之前的经验而言,一般8核16G的机器部署的MySQL数据库,每秒抗个一两千并发请求是没问题的,但是如果你的并发量再高一些,假设每秒有几千并发请求,那么可能数据库就会有点危险了,因为数据库的CPU、磁盘、IO、内存的负载都会很高,弄不数据库压力过大就会宕机。

对于16核32G的机器部署的MySQL数据库而言,每秒抗个两三千,甚至三四千的并发请求也都是可以的,但是如果你达到每秒上万请求,那么数据库的CPU、磁盘、IO、内存的负载瞬间都会飙升到很高,数据库也是可能会扛不住宕机的。

所以这就是对于数据库,我们一般推荐选用的机器的配置,以及他大致可以抗下多高的并发请求量的经验分享。

另外对于数据库而言,如果可以的话,最好是采用SSD固态硬盘而不是普通的机械硬盘,因为数据库最大的复杂就在于大量的磁盘IO,他需要大量的读写磁盘文件,所以如果能使用SSD固态硬盘,那么你的数据库每秒能抗的并发请求量就会更高一些。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值