性能优化专栏 - 开篇

94 阅读2分钟

单纯地说你的系统达到了怎样的并发数,并无实际意义,或许别人用3台机器,达到了你10台同配置机器的性能指标!

本专栏主要讲述一个应用系统的常规优化方法,将会涉及以下几大模块:

  • 数据库
  • Java代码
  • 多线程
  • JVM
  • 网络
  • Nginx
  • Linux

接下来明确一个问题:什么时候开始性能优化? 既然我掌握了这么多的优化技巧,是不是越早介入越好?

其实完全不必过早介入性能优化,否则有可能会过于侧重性能而影响开发进度,完成永远比完美重要!

  • 项目初期,我们只要保证高效编码即可,比如高效算法、减少磁盘IO、降低锁竞争等。
  • 编码完成后,结合业务场景,预估用户和数据量,对系统进行压测,看结果是否在预期范围内,如果不符合,则要找出性能瓶颈进行优化。
  • 系统上线后,根据系统监控情况观测性能问题,一旦发现问题及时修复。

体现系统性能的指标

  • CPU
  • 内存
  • 磁盘IO
  • 网络
  • 数据库
  • 响应时间
  • 吞吐量
  • 负载能力

常见优化策略

  • 代码优化
  • 算法优化
  • 参数优化
  • 设计优化
  • 时间换空间
  • 空间换时间
  • 兜底方案

有没有必要做性能优化,需要视公司和业务情况而定,切勿为了优化而优化,犹如脱离业务谈架构,脱离业务谈优化同样是耍流氓!

性能优化,必须是在一定条件下,达到一定的性能指标。有效的优化可以使系统运行稳定,用户体验更佳,在规模较大的系统中,还能帮助公司节省资源!

相关文章

性能优化 - MySql

性能优化 - Java

性能优化 - Nginx & Linux