系统性能是系统设计, 实施中的重要目标. 这里简单小结下影响系统性能的几个常见因素, 以及优化方案.
硬件
CPU
CPU 通常负责计算机系统的主要计算工作. 如果系统得到的 CPU 资源不足以满足系统的处理需求, 就有可能影响系统性能.
优化方向
增加 CPU 资源.(使用处理能力更强的 CPU, 物理 CPU, 逻辑 CPU 数量)
增加系统的进程对 CPU 资源的占用时间.(使用多进程, 多线程技术)
内存
CPU 的处理数据需要暂时存放在内存中, 因此内存资源也是影响系统性能的一大因素.
优化方向
增加内存资源.
减少内存碎片.(如使用内存池技术)
减少内存操作.(多使用栈? 避免频繁 malloc)
磁盘
磁盘的 IO 速度远小于内存读写速度, 如果系统运行需要等待磁盘 IO 的完成, 则系统性能就会收到很大影响.
优化方向
减少等待.(非阻塞, IO 复用)
使用性能更好的磁盘.
网络
与磁盘 IO 类似, 网络 IO 的速度远小于内存, 而且受到各种网络因素影响. 网络 I/O 经常是系统性能的瓶颈.
优化方向
增加网络带宽, 使用高速网卡等.
减少等待 (非阻塞, IO 复用)
提供有损服务.
UDP.(一些视频服务可以用 UDP 替代 TCP)
软件
锁竞争
临界资源的使用需要用到锁, 锁的竞争不仅需要上下文切换的开销, 还经常会导致线程等待. 甚至如果发生死锁, 系统性能就会受到严重影响.
优化方向
减少临界资源, 锁的使用
杜绝死锁
过载
系统过载可能导致系统性能雪崩式下降.(某个时间段突然超过系统承受能力的高并发)
优化方向
过载保护.
负载均衡.
欢迎指正和补充
来源: https://www.qcloud.com/developer/article/1178761