晋阶之路 - 性能优化

用户头像
魔曦
关注
发布于: 2020 年 07 月 22 日
晋阶之路-性能优化

性能优化在实际中很常见,但是很多的优化没有达到预期的效果,发现是本身套路有问题,如何才能用正确的套路搞定老板、同事呢?性能优化有两大核心原则:

1.不要优化自己不熟悉的系统

2.不要优化一个没有测试的系统

围绕以上两个核心在配套套路搞定他们弹指之间哈。

性能优化目标

无论是开发新系统或者针对老系统做优化一定要收集预期的目标,新系统的性能目标来自于业务人员的反馈,比如业务针对系统支持百万并发(直播带货、抢答题系统);老系统的优化一般就是存在性能瓶颈且影响到业务发展,这个目标相对明确。针对这些明确的目标如何落地到系统设计,可以通过系统哪些指标能验证是否满足预期的目标呢?

常见的指标如下所示:

1.QPS

2.TPS

3.吞吐量

4.响应时间RT

5.HPS

6.并发数等

7.交互体验

通过这些肉眼可见的关注点,可以很明确的知道自己系统能支撑的量级。

性能优化方案

优化一般从以下两个维度展开,分别如下所示:

1.主观视觉->用户感受到的性能,这个慢需要在交互设计方面等做点功夫,有可能你接口返回的很快,但是前置的交互有问题,所以要从第一视觉去复原问题,发现到底是后端接口慢还是用户的体验有问题。

2.客观视觉->性能指标衡量的性能,作为一个TL一定要对自己系统的性能有一个直观的认识,熟悉自己的系统能支持多少并发,超过多多少并发系统就会奔溃等,这个认识就的通过性能测试(常用的压测工具比如jmeter、loadrunner等)发现,性能测试一般包含三部分,分别是性能测试、负载测试、压力测试,需要重点关注拐点,测试要出报告,通过报告外加ppt说服老板。

优化思路:

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

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

3.架构与代码分析,寻找性能与资源瓶颈关键所在

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

5.性能测试,进入性能优化闭环(与之前指标比对,观察效果)

实践方案(分层优化):

1.机房与骨干网络性能优化

2.服务器与硬件性能优化

3.操作系统性能优化

4.虚拟机性能优化

5.基础组件性能优化

6.软件架构性能优化

7.软件代码性能优化

通过思路+方案逐层去解决问题。

性能优化结果

性能优化一定是持续进行的,一个阶段一个阶段都是闭环,一定要有比对,否则会被质疑的。只有通过数据才能证明你的优化是有效的,前后的对比能体现你的价值,证明你做的选择是对的。

总结

做事一定要有套路,从主观到客观,从前后数据比对为的就是证明你的选择是对的,优化一定要抓主要矛盾,别因小失大,比如将一个一年的用几次1s的查询优化成10ms了,这个样的优化体现不出价值和影响的。

用户头像

魔曦

关注

我思故我在! 2018.01.15 加入

凡事有交代,件件有着落,事事有回音。

评论

发布
暂无评论
晋阶之路-性能优化