前端性能优化实战
创始人
2025-06-01 18:04:10

问题描述

在实际使用中发现, 等待时间经常有超过10秒以上的情况,接口响应慢,取决于服务器的硬件和软件配置、网络带宽、缓存机制、请求处理逻辑等

排查发现并不是只有4个接口慢,而是当有大量请求或者高并发的请求时,服务器所有请求响应都变慢了, 正常情况下,静态资源的响应时间很快,不会占用服务器的资源,当在服务器CPU 占用过高, 或者网络带宽不足的时候,就会造成接口的响应缓慢。

如果是 Node.js 单线程、单核运行的情况下,一旦阻塞,就会造成宕机。由于使用的是是HTTP1.1 ,在 chrome 下并发请求 6个。排查发现由于使用了 require JS, 使用后会进行自动拆包,会将 js 大于1M 都会拆包

如何解决这种现象?

  • 增加服务器成本,采用负载均衡等技术
  • 使用 CDN 技术:将静态资源文件缓存在全球各地的 CDN 服务器上,可以提高访问速度,降低服务器负载。(由于内部系统,往往是单机部署,未实现)
  • 压缩静态资源文件:对于 JavaScript、CSS 等文件,可以使用压缩工具进行压缩,减小文件体积,提高下载速度。(已经使用 webpack 最小压缩)
  • 使用缓存:可以在服务器端或浏览器端设置缓存策略,让客户端在一定时间内缓存静态资源文件,减少对服务器的请求次数。(已经对于静态资源进行缓存,还有优化空间)可以在 NGINX 中加入下面配置,静态资源强缓存 7 天
    location /itsm/static {       add_header Cache-Control "max-age=2592000, s-maxage=3600";
    }
    
  • 并发请求限制:可以通过限制并发请求的数量,避免服务器负载过高,导致响应时间变慢。
    (大部分接口没限制,若有人对接口进行压力测试,就会造成响应缓慢)
  • 升级 HTTP2(这一点不太容易,HTTP2 IE 不支持,必须要 HTTPs)
  • 减少HTTP请求,合并重复请求
  • 减少资源大小

具体方案

优化requirejs和splitChunks

因为requirejs和splitChunks会造成很多的js请求,而chrome在http1.1只能并发6个请求,因此对于产品,我们可以不用 requirejs 和 splitChunks。去除 requirejs 插件, 因此在打包产品包的时候可以不使用插件。

如果没有办法移除, 我们可以使用 system js 来代替 requirejs 来加载。SystemJS 诞生于 2015 年,那个时候 ES Module 还未成为标准,在浏览器端只能通过 requirejs、seajs 等方案实现模块加载,随着 npm 在前端界的流行,一个项目中可能存在多种模块规范。SystemJS 是现阶段下(浏览器尚未完全正式支持importMap)原生 ES Module 的替代品,ES Module 被编译成 System.register 格式之后能够跑在旧版本的浏览器当中。

使用https和cdn加速

关于http和http2以及QUIC协议的简介和之间的区别

  1. 首先你需要获取一个SSL证书, 然后安装证书, 在Nginx的安装目录下创建cert目录,将下载的.crt和.key文件拷贝到cert目录中。打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到“HTTPS server”部分。重启Nginx
    server {listen 443;server_name 你网站的域名;ssl on;root html;index index.html index.htm;ssl_certificate cert/你的证书文件名.pem;ssl_certificate_key cert/你的证书文件名.key;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;}
    }
    
  2. 然后在原来的http配置那里做个301到https。
# 建议复制多一份原配置,出错可以恢复
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {# 监听80端口,http重定向listen       80;server_name example.com;return 301 https://www.example.com$request_uri;}server {# 监听443端口,https重定向listen       443 ssl;server_name	example.com;return 301 https://www.example.com$request_uri;}server {listen 443 default_server ssl;server_name	www.example.com;# 下面代码省略...
}

使用CDN缓存加速

http缓存,浏览器缓存,cdn缓存

  • 把一些较大的包和一些公司通用的包,静态资源放在nginx服务器上, 通过公共网络资源方式引入(jQuery等)
  • 同时可以使用CDN和模块联邦热更新, 实现实时动态更新而无需打包业务线项目

相关文章

怎样把网站升级到http/2
网站http升级https以及cdn加速(基本无坑)
让你的网站升级到HTTP/2

相关内容

热门资讯

赛艇运动起源于哪个国家,奥运会... 赛艇运动起源于哪个国家目录赛艇运动起源于哪个国家奥运会传统比赛项目“赛艇”起源于欧洲哪个国家?赛艇运...
时空猎人首充号为什么充值会打折... 时空猎人首充号为什么充值会打折目录时空猎人首充号为什么充值会打折安卓手游充值折扣平台安卓手游充值折扣...
自助无人洗车机多少钱一台(24... 今天给各位分享自助无人洗车机多少钱一台的知识,其中也会对24小时自助共享洗车店要多少钱进行解释,如果...
白粥的做法,白粥的做法,白粥怎... 白粥的做法目录白粥的做法白粥的做法,白粥怎么做好吃,白粥的家常做法怎样煮白粥啊?白粥的做法 制...
包含抖音很火的叫爸爸是什么梗的... 今天给各位分享抖音很火的叫爸爸是什么梗的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别...
深圳欢乐谷的门票是怎么收费得,... 深圳欢乐谷的门票是怎么收费得目录深圳欢乐谷的门票是怎么收费得2022深圳欢乐谷万圣节老人免费吗?深圳...
阴阳师青蛙瓷器哪里多 极速百科... 阴阳师青蛙瓷器哪里多目录阴阳师青蛙瓷器哪里多阴阳师青蛙瓷器哪里多阴阳师的青蛙瓷器在哪个副本出现青蛙瓷...
一个G流量是多少MB流量,手机... 一个G流量是多少MB流量目录一个G流量是多少MB流量1G上网流量是多少MB一个G的流量等于多少MB一...
道台是什么官职 极速百科网 极... 道台是什么官职目录道台是什么官职道台是什么官职在清朝道台是个什么官“道台”是官职名吗道台是什么官职 ...
描写可怕的笑的成语笑得阴险可怕... 描写可怕的笑的成语笑得阴险可怕目录描写可怕的笑的成语笑得阴险可怕描写阴险的笑的成语表示阴险的笑有哪些...
贴春联的由来,贴春联的由来是什... 贴春联的由来目录贴春联的由来贴春联的由来是什么?贴春联的由来是什么?贴春联的由来 春联,又称对...
风雪夜归人的上一句是什么,柴门... 风雪夜归人的上一句是什么目录风雪夜归人的上一句是什么柴门闻犬吠,风雪夜归人。 上一句风雪夜归人 ;燕...
漂移是什么意思(摇杆漂移是什么... 本篇文章极速百科给大家谈谈漂移是什么意思,以及摇杆漂移是什么意思对应的知识点,希望对各位有所帮助,不...
车架号后四位是什么(车架号后四... 本篇文章极速百科给大家谈谈车架号后四位是什么,以及车架号后四位是什么在哪里看对应的知识点,希望对各位...
隐形眼镜基弧是什么意思,请问,... 隐形眼镜基弧是什么意思目录隐形眼镜基弧是什么意思请问,配隐形眼镜的时候要不要关注那个基弧?隐形眼镜基...
广西省崇左市属于什么市,祟左是... 广西省崇左市属于什么市目录广西省崇左市属于什么市祟左是地级市还是县级市崇左是南宁得直辖市吗 为什么区...
内衣尺码大小分类,内衣的型号分... 内衣尺码大小分类目录内衣尺码大小分类内衣的型号分哪几种?什么abc事什么意思?34、36是尺寸嘛?内...
几个防止卫生间反味小妙招,卫生... 几个防止卫生间反味小妙招目录几个防止卫生间反味小妙招卫生间反臭怎么办?卫生间怎么样防臭几个防止卫生间...
庄子中的成语和解释,四个出自《... 庄子中的成语和解释目录庄子中的成语和解释四个出自《庄子》的成语及解释《庄子》中的成语及解释(按篇目分...
怎么切翡翠原石(收玉石的联系方... 本篇文章极速百科给大家谈谈怎么切翡翠原石,以及收玉石的联系方式对应的知识点,希望对各位有所帮助,不要...
关于燕子的古诗,描写燕子的古诗... 关于燕子的古诗目录关于燕子的古诗描写燕子的古诗描写燕子的古诗有哪些?关于燕子的古诗关于燕子的古诗 ...
好巧不巧是什么意思,好巧不巧什... 好巧不巧是什么意思目录好巧不巧是什么意思好巧不巧什么意思?“无巧不巧”究竟何解?好巧不巧是什么意思好...
关东煮里面放什么配料啊,关东煮... 关东煮里面放什么配料啊目录关东煮里面放什么配料啊关东煮的配料关东煮需要哪些调味料呀?请问,关东煮都可...
极速进化满电出发!长安深蓝SL... 本篇文章极速百科给大家谈谈极速进化满电出发!长安深蓝SL03开启预售,以及长安蓝鲸plus新车报价对...
比亚迪f3汽车报价(比亚迪f3... 今天给各位分享比亚迪f3汽车报价的知识,其中也会对比亚迪f3价格及图片易车进行解释,如果能碰巧解决你...
两台电脑怎么共享一台打印机,两... 两台电脑怎么共享一台打印机目录两台电脑怎么共享一台打印机两台电脑如何共享一台打印机?请问一个打印机怎...
16个复韵母有哪些(16个复韵... 本篇文章极速百科给大家谈谈16个复韵母有哪些,以及16个复韵母怎么读拼音视频对应的知识点,希望对各位...
樟树有什么作用,樟树有什么作用... 樟树有什么作用目录樟树有什么作用樟树有什么作用?樟树的用途有哪些?樟树有什么作用?樟树有什么作用 ...
dazl启动子的作用,启动子和... dazl启动子的作用目录dazl启动子的作用启动子和终止子是什么作用的?dazl启动子的作用启动子的...
写字楼是干什么的 极速百科网 ... 写字楼是干什么的目录写字楼是干什么的写字楼是干什么的写字楼是干什么的 写字楼的功能介绍写字楼是干什么...