写点什么

性能优化概述

用户头像
superman
关注
发布于: 2020 年 07 月 23 日

1:性能优化的前提原则

不能优化一个没有测试的系统

        测试找到问题才能针对问题进行优化,优化是否有结果也要有测试来确认。

不能优化一个不了解的系统

     不要用先进技术对不了解系统进行优化。充分了解系统才能去进行优化。

     先了解问题再去解决,清楚问题比解决方法更重要



2:优化

2.1 两个角度的优化

1:主观指标优化

     用户感受方面的优化可起到调整小,提高大的效果。

2:客观指标优化

  客观指标:响应时间,并发数,吞吐量,性能计数等

  客观指标需要技术人员去优化。

 

2.2 优化的流程



  1. 性能测试,获取性能指标

  2. 指标分析,发现性能与资源的瓶颈点

  3. 架构与代码分析:针对瓶颈分析架构与代码,找出瓶颈问题的关键所在

  4. 架构与代码优化:优化关键技术点,平衡资源利用。--优化关键

  5. 性能测试:验证优化结果,循环性能优化。

大部分情况下可能不是去调整自己的架构:而是优化外部问题:服务器,网络,基础组件,操作系统。



2.3 按分层思想去做性能优化

影响系统性能的原因不只是软件本身,还有软件所在的基础环境,及软件依赖的其他软件。因此实际优化时要根据问题在不同层次进行优化。

1:机房与骨干网

主要优化网络访问消耗,保住系统机房可靠。

    包括:采用CDN,异地多活,网络专线,多服务商接入等手段

2:服务器与硬件性能

CPU,硬盘,网卡,内存,物理上的性能对系统性能的影响有时是指数级别的。

3:操作系统性能优化

系统的有些缺省配置需调整,或操作系统的版本选择等在特定问题上对系统影响也很大。

4:虚拟机性能优化

主要只系统运行的虚拟环境,如jvm 。对虚拟机的相关配置,包括内存回收等。

5:基础组件性能优化

系统运行需要依赖很多基础组件,包括数据库,应用服务,网络,rpc等各种中间件。

     基础组件的性能特性也会严重影响系统性能,使用更好的组件,或组件的版本,提高系统性能。

6:软件架构性能优化

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

    架构上优化的主要手法。

7:软件代码性能优化

属于开发基本功。

常用问题与手法:并发编程,资源复用(资源池,对象池),异步编程,数据结构与算法的优化。



如果要解决对各种情况导致的性能问题,需要掌握多个层次的知识,经过实践的不断锤炼。性能优化是个高积累的活。



2.4 性能优化三板斧

缓存,异步,分布式集群



系列目录

性能优化专题

性能测试

性能优化概述



用户头像

superman

关注

还未添加个人签名 2018.07.20 加入

还未添加个人简介

评论

发布
暂无评论
性能优化概述