性能优化作为一个老生常谈的话题,基本上每一个研发都或多或少的参与过相关的工作;网上相关的资源也非常多,正好技术派因为某些原因,做了几次的服务迁移,从之前杭州到现在的香港,整体服务的性能表现也出现了很大的波动,经过一系列的优化努力,最终的效果勉强符合预期
接下来我们给各位小伙伴分享一下,技术派整个项目中,借助的优化思想以及对应的实现手段
1. 优化方法论
一般来说,有计划有准备的动作,行动之前的都会有相应的指导手册;那么作为一个性能优化的主题,我们可以从哪些方面去努力呢?
1.1 如何做性能调优
性能调优是一个系统性的过程,需要根据具体的业务需求和系统环境来制定。以下是一些基本步骤:
-
确定目标:首先,你需要明确你希望通过性能调优达到什么样的目标。这可能包括提高系统的响应时间、处理能力或资源利用率等。
-
收集数据:在开始优化之前,你需要收集关于系统性能的数据。这可能包括CPU使用率、内存使用情况、磁盘I/O、网络I/O等。
-
分析数据:通过分析收集到的数据,你可以找出系统的性能瓶颈。这可能是硬件问题,也可能是软件问题。
-
制定优化策略:根据分析结果,你可以制定出针对性的优化策略。这可能包括升级硬件、优化代码、调整系统参数等。
-
实施优化:按照你的优化策略,开始进行优化操作。在优化过程中,你需要持续监控系统性能,以确保优化效果。
-
评估优化效果:优化完成后,你需要评估优化的效果。如果达到了预期的目标,那么优化就成功了。如果没有,那么你可能需要重新分析数据,找出新的性能瓶颈,然后再次进行优化。
-
持续改进:性能调优是一个持续的过程,你需要定期对系统进行性能测试和优化,以确保系统始终保持最佳状态。
1.2 性能优化指导方案
基于前后端的特点,对各自的性能优化方案做了一个简单的归纳提炼
对应的文字版本
前端优化
-
资源侧:
- 删除冗余的静态资源依赖
- 多个小图标合成一张图,减少网络开销
- 字体文件过大,按需进行拆分
-
网络传输
- 代码压缩
- 浏览器做缓存
- 使用CDN加速
- 建立长连接,复用请求,减少dns解析、握手开销
-
编码
- 防止重复提交
- 异步响应
- 减少无用请求
- 瀑布流式渲染,不需要等待全部返回再
回复