单机负载告警,数据库与应用分离

随着网站的开放,访问量不断增大,那么这个时候服务器的负载势必会持续升高,必须要才需一些办法来应付。这里先不考虑更换机器和各种软件层面的优化,先从架构的结构上来做一些调整。我们可以把数据库与应用从一台机器分到两台机器 

变化:
网站从一台变成了2台,这个变化对我们来说影响非常小。单机的情况下,我们应用采用JDBC
的方式来和数据库进行连接,现在数据库与应用分开了,我们只需要在配置文件中把数据库的地址
从本机改成数据库服务器的ip地址就行。 
对于开发、测试、部署都没有影响 

调整以后我们能够缓解当前的系统压力,不过随着时间的退役,访问量继续增大的话,我们的系统还是需要做改造 

 

为什么这么分呢?从计算机本身的角度来考虑的话,一个请求的访问到处理最终到返回,性能瓶颈只会是:CPU、文件IO、网络IO、内存、等因素。
而一台计算机中这些纬度是有性能瓶颈的,如果某个资源消耗过多,通常会造成系统的响应速度较慢,所以增加一台机器,
使得数据库的IO和CPU资源独占一台机器从而增加性能。
这个地方插入一点题外话,就是简单说一下各个资源的消耗原因。 

CPU/IO/内存: 

1. 主要是上下文的切换,因为每个CPU核心在同一时刻只能执行一个线程,而CPU的调度有几种方式,比如抢占式和轮询等,以抢占式为例,
每个线程会分配一定的执行时间,当达到执行时间、线程中有IO阻塞或者有高优先级的线程要执行时。CPU会切换执行其他线程。
而在切换的过程中,需要存储当前线程的执行状态并恢复要执行的线程状态,这个过程就是上下文切换。比如IO、锁等待等场景下也会触发上下文切换,当上下文切换
过多时会造成内核占用比较多的CPU。
 
2. 文件IO,比如频繁的日志写入,磁盘本身的处理速度较慢、都会造成IO性能问题 

3. 网络IO,带宽不够 

4. 内存,包括内存溢出、内存泄漏、内存不足 
实际上不管是应用层的调优也好,还是硬件的升级也好。其实无非就是这几个因素的调整。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值