性能优化高手课
尉刚强
资深软件设计咨询顾问
新⼈⾸单¥59.9
913 人已学习
课程目录
已完结 30 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 与我一起修炼,成为一名软件性能大师吧!
免费
性能设计篇 (8讲)
01 | 性能建模设计:如何满足软件设计中的性能需求?
02 | 并行设计(上):如何利用并行设计挖掘性能极限?
03 | 并行设计(下):如何高效解决同步互斥问题?
04 | 缓存设计:做好缓存设计的关键是什么?
05 | IO设计:如何设计IO交互来提升系统性能?
06 | 通信设计:请不要让消息通信拖垮了系统的整体性能
07 | 数据库选型:如何基于性能需求选择合适的数据库?
08 | 可监控设计:如何利用eBPF来指导可监控设计?
性能实现篇 (8讲)
09 | 性能模式(上):如何有效提升性能指标?
10 | 性能模式(下):如何解决核心的性能问题?
11 | 如何针对特定业务场景设计数据结构和高性能算法?
12 | 我们要先实现业务功能,还是先优化代码?
13 | 编译期优化:只有修改业务代码才能提升系统性能?
14 | 内存使用篇:如何高效使用内存来优化软件性能?
15 | 并发实现:掌握不同并发框架的选择和使用秘诀
16 | 技术探索:你真的把CPU的潜能都挖掘出来了吗?
性能看护篇 (5讲)
17 | Benchmark测试(上):如何做好微基准测试?
18 | Benchmark测试(下):如何做好宏基准测试?
19 | 性能测试工具:如何选择最合适的性能测试工具?
20 | 性能看护: 如何更好地守护产品性能?
21 | 性能CI:性能测试也可以集成到Pipeline中吗?
性能调优篇 (4讲)
22 | 性能调优方法论:如何科学高效地定位性能问题?
23 | 监控分析:你的性能调优工具足够有效吗?
24 | 动态监控:你的产品系统中有动态监控的能力吗?
25 | 性能调优什么时候应该停止?
案例篇 (3讲)
26 | 一个嵌入式实时系统都要从哪些方面做好性能优化?
27 | 解决一个互斥问题,系统并发用户数提升了10倍!
28 | Web服务业务代码一行不动,性能提升20%,怎么做到的?
结束语 (1讲)
结束语 | 千里之行,始于足下,你已踏上修炼之道!
性能优化高手课
15
15
1.0x
00:00/00:00
登录|注册

28 | Web服务业务代码一行不动,性能提升20%,怎么做到的?

你好,我是尉刚强。
在软件开发的过程中,为了保持软件系统设计的简单性,一般情况下,我们会把业务操作实现成强一致性的,而且是实时生效的。但是,在设计与实现高性能软件系统的过程中,我们其实还可以通过降低一些非关键业务操作的一致性或实时性,来调整软件设计与实现,从而换取更大的性能收益。就比方说,我们经常使用的部分 Cache 技术,其背后的原理就是通过降低数据的一致性,来提升软件的执行速度。
那么今天这节课,我要分享的也是一个通过降低业务操作的一致性和实时性,来换取软件性能提升的案例。
我会按照“优化前性能分析”“优化解决方案”“优化成果分析”的顺序来进行讲解,并带你剖析在这个过程中我是如何思考问题,以及如何根据具体业务场景和软件实现现状进行权衡的,以此来让你可以更加清楚和明白,如何去分析不同的业务操作的一致性和实时性差异和影响范围,从而设计出更加适合业务场景的 Cache 技术解决方案,来优化提升软件的性能。
下面,我们先来了解下这个案例的背景,一起来分析下这个软件系统优化前的性能。

优化前性能分析

在互联网的 Web 服务中,A/B 测试作为一种数据驱动产品进行优化的科学方法,应用比较广泛。其中 A 代表原有实现方案,B 代表新的实现方案,然后通过显式地控制与调整使用方案 A 和方案 B 的用户占比,并获取观察分析数据,来评估新功能或者实现方案上线后是否有效,以及预期收益是否在合理的范围内。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《性能优化高手课》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥59.9
立即订阅
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部