单纯地说你的系统达到了怎样的并发数,并无实际意义,或许别人用3台机器,达到了你10台同配置机器的性能指标!
本专栏主要讲述一个应用系统的常规优化方法,将会涉及以下几大模块:
- 数据库
- Java代码
- 多线程
- JVM
- 网络
- Nginx
- Linux
接下来明确一个问题:什么时候开始性能优化? 既然我掌握了这么多的优化技巧,是不是越早介入越好?
其实完全不必过早介入性能优化,否则有可能会过于侧重性能而影响开发进度,完成永远比完美重要!
- 项目初期,我们只要保证高效编码即可,比如高效算法、减少磁盘IO、降低锁竞争等。
- 编码完成后,结合业务场景,预估用户和数据量,对系统进行压测,看结果是否在预期范围内,如果不符合,则要找出性能瓶颈进行优化。
- 系统上线后,根据系统监控情况观测性能问题,一旦发现问题及时修复。
体现系统性能的指标
- CPU
- 内存
- 磁盘IO
- 网络
- 数据库
- 响应时间
- 吞吐量
- 负载能力
常见优化策略
- 代码优化
- 算法优化
- 参数优化
- 设计优化
- 时间换空间
- 空间换时间
- 兜底方案
有没有必要做性能优化,需要视公司和业务情况而定,切勿为了优化而优化,犹如脱离业务谈架构,脱离业务谈优化同样是耍流氓!
性能优化,必须是在一定条件下,达到一定的性能指标。有效的优化可以使系统运行稳定,用户体验更佳,在规模较大的系统中,还能帮助公司节省资源!
相关文章