深入理解大型项目服务器部署与数据库优化策略

我们先了解一下大概的数据量:

复杂的数据库语句:Mysql每秒大概可以执行100-200个

一台服务器就可以做到每秒几十个并发(配置:4核8G)

一万块钱的服务器的配置:16核32g内存+4T硬盘

如果是微型的服务,我们是不需要其他操作的,但是如果我们公司想开发一个大型的项目,那么将所有的内容都部署到一台服务器上是不太现实的,这个时候就需要虚拟化组件将这些服务器统一组织起来

虚拟化:很多台变为一台    一台变为很多台

通常情况下,一般会将多台服务器合并之后,再进行分割,这个再次分割的大小通常为4核8g。

为什么4核8g:我们的项目是使用Java语言的,对于jvm来说需要定时的进行垃圾回收,垃圾回收时会产生卡顿。如果空间过大,一次垃圾回收会特别的慢,空间小的话,触发频繁,回收快一些。

对于单台服务器:

条件:每秒几百次访问

每秒访问的次数不是一定的,存在流量高峰时段,每秒访问次数可达几百万,那么每天可以几十到几百万次访问。

这意味着数据库存储量很大,前端浏览器加载页面也需要下载,大量访问会产生带宽不足,所以为了解决这个问题,采取了前后端分离

长久的使用,一个表中的数据量很多,最先出现的问题是,我们进行磁盘io读取数据库数据时,需要几秒的时间,此时我们虽然仍可以使用该表,但是读取时间过长,所以我们此时挑出一列作为索引文件列以及地址形成b树

这样读取的速度变快了,但是数据量过大时,索引文件也能达到几百兆,这样也有可能送不过去,所以我们仍然需要限制数据量,在五百万条左右,所以我们需要对数据库分表。

此时数据库暂时解决了,但是如果只有一台服务器,负担五十个表,也是非常困难的,所以我们可以将这五十个表分到不同的服务器上,这就是分库分表思想。

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值