技术架构(2)-系统架构优化思路

在系统代码正确的前提下,如果系统性能不高,P8课建议从这几个方面考虑优化。

  • 缓冲(buffer)。主要针对写入操作,避免每次写入都去操作磁盘。计算机的随机访问,cpu是纳秒级,内存是微秒级,磁盘是毫秒级。很多大数据技术都是数据来了先写内存,积累一定时间或者是数据量,再一次写入磁盘,减少频繁IO的性能开销。
  • 缓存(cache)。主要针对读取操作,避免每次读取都去操作磁盘。缓存尽量大一些,以提高命中率,减少磁盘操作。
  • 复用(pool)。主要针对各种资源的创建销毁操作,一次创建重复使用。比如,连接池、线程池、常量池等等。
  • 分治(sharding)。主要针对超出单机处理能力的场景。把一个很大的任务切分成小块,多台机器并行处理,汇总结果。
  • 亲密(sticky)。把某个终端的请求全部负载到同一台服务器上,避免数据在不同服务器之间交换、复制。一般来说,在线联机游戏都是这么做的,掉线之后重连,还在原来的房间(主机内存中)。
  • 权衡(trade-off )。针对不同的场景,选择最适合的技术。

posted on 2022-04-26 11:42  别样风景天  阅读(220)  评论(0编辑  收藏  举报

导航