性能调优篇一
开篇话题调优
? 在业务展开到一定情况下,当业务出现等待时间长、不流畅的情况下,这个时候就应该对整体进行调优。性能调优这个话题时一直持续性的被追求,探索更好的架构,更优的配置等等,其实调优这个话题一直存在于一个误区,就是必须在基础架构正确的情况下进行调优会得到更好的效果,点与面都需要调优,不要以为简单调整下配置文件就可以达到很好的效果,其实不然从前端到业务逻辑到负载架构网络容器数据索引内核参数等都需要进行调整,往往单点调优实际效果收益甚微,精准把握短板才能有效提升客户体验。
? 本篇博客是由本人的个人理解观点,如果有其他的想法可以发送到我的个人邮箱进行深度讨论,我和喜欢认识一些技术大佬!to my email [email protected]
调优思路
? 其实在我自己的思路中调优中一般有两种思路:正向调优,和点面调优。
? 什么是正向调优?正向调优即从页面前端出发以客户身份形式去感受,利用浏览器自带的功能去分析问题点。
正向调优之前端调优
前端调优技术:页面的加载技术其实也是非常重要的一环,直接影响了客户体验,能让客户直接感受到速度的快慢。
首先从TCP/IP的角度上来想,减少HTTP的请求传输多次请求合并成一次请求,多小包合成一个或多个大包来传递也可以提升由网络传输层带来的收益。
经量压缩css和js文件,将多个css文件压缩成一个,将多个js合并为一个。从而减少HTTP请求次数。
使用矢量图代替传统png图,可以让浏览器渲染速度变快。
能使用css写的效果不使用js写,经量使用原生js。要避免使用一个小功能,而引入大量第三方库,加载无用的资源,加大传输负担。
采用图片延迟加载技术(京东、天猫、淘宝等图片较多的网站都会使用此技术),并不需要将页面所有图片资源一次性加载完毕,只需要放一张占位图即可。当图片进入浏览器可视区域再进行加载。
DNS预解析,类似京东、淘宝、天猫图片较多的业务网站,他们都在加载图片时,先解析图片服务器的IP,通过路由器域名缓存后,当需要加载图片时,就再不需要去解析DNS这样就省略了加载图片时的域名解析过程,通常此技术结合图片延迟加载技术。
在小图标较多的网站上使用精灵图,将多张小图片整合成一张,利用图片定位来分别展示各个小图标,这样也可以有效的提升传输效率。
前端使用页面缓存技术,让用户后退网页直接调用缓存。可以有效提高带宽利用率,实现不需要二次加载页面。例如vue的keep-alive。
前端框架、库、图片、css、js文件引入CDN 像很多前端框架文件中官方已经提供了CDN加速,只需要引入即可,加载框架文件库等速度会更快,对于图片较多的网站来说可以购买一些图片CDN将图片上传到CDN加速中,让浏览器打开速度更快。
其实前端效果直接影响了用户体验所以这边占了很大的篇幅,因为我也不是前端技术,也不是专科班出身所以自己了解得还是知之甚少,其实前端调优还是很重要的,而且代码级别调优也是重点。
正向调优之CDN加速
- CDN内容分发网络。
- 通过分析用户IP从而分发到最近的服务器机房,解决物理上的传输问题,减少掉包、丢包、乱序、延时的问题,提高用户访问网站的响应速度。
- 用户群体大,且跨区域。
太晚了洗衣服去了,明天后天晚上接着写。