性能优化

全链路压测其实指的就是在特定的业务场景下,将相关的链路完整的串联起来同时施压,
尽可能模拟出真实的用户行为,当系统整站流量都被打上来的时候,必定会暴露出性能
瓶颈,才能够探测出系统整体的真实处理能力,以及有指导的在大促前进行容量规划和
性能优化,这便是线上实施全链路压测的真正目的。

软件性能优化的两个基本原则
• 你不能优化一个没有测试的软件
• 你不能优化一个你不了解的软件

性能优化的一般方法
• 性能测试,获得性能指标
• 指标分析,发现性能与资源瓶颈点
• 架构与代码分析,寻找性能与资源瓶颈关键所在
• 架构与代码优化,优化关键技术点,平衡资源利用
• 性能测试,进入性能优化闭环

软件架构性能优化三板斧
• 缓存
• 异步
• 集群

缓存

  • 从内存获取数据,减少响应时间
  • 减少数据库访问,降低存储设备负载压力
  • 缓存结果对象,而不是原始数据,减少 CPU 计算
  • 缓存主要优化读操作

异步

  • 即时响应,更好的用户体验
  • 控制消费速度,合适的负载压力
  • 异步主要优化写操作

集群

  • 互联网技术的发展路径就是:更多的用户访问需要消耗更多的计算资源,单一服务器计
  • 算资源的增加是有极限的,所以需要增加更多的服务器。关键是如何利用起来这些服务器。
  • 集群的技术目标只有一个:如何使很多台服务器对使用者而言看起像一台服务器。

软件代码性能优化

  • 遵循面向对象的设计原则与设计模式编程,很多时候程序性能不好不是因为性能上有什么技术挑战,仅仅就是因为代码太烂了。
  • 并发编程,多线程与锁
  • 资源复用,线程池与对象池
  • 异步编程,生产者消费者
  • 数据结构,数组、链表、hash 表、树
posted @ 2020-11-15 23:54  CusterFun  阅读(137)  评论(0编辑  收藏  举报