Linux:性能瓶颈。

从计算机本身的角度来考虑的话,一个请求的访问到处理最终到返回,性能瓶颈只会是:CPU、文件IO、网络IO、内存等因素。而一台计算机中这些维度是有性能瓶颈的,如果某个资源消耗过多,通常会造成系统的响应速度较慢,所以增加一台机器,使得数据库的IO和CPU资源独占一台机器从而增加性能。

简单说一下各个资源的消耗原因。

CPU/IO/内存:

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

实际上不管是应用层的调优也好,还是硬件的升级也好。其实无非就是这几个因素的调整。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章