网站性能优化实战之—— gzip (webpack, vite 开启gzip 部署)
在创建高效的个人博客网站时,技术电池的选择至关重要。本文将使用React1 7 ,快速,Redux,Saga和TypeScript以及使用节点,KOA,MySQL和Dactylography的后端解决方案共享正面解决方案。
前地址位于blogs.chenliangliang.top中。
该代码托管在GitHub的CL1 2 3 4 5 6 / BL中,后端代码存储在GitHub / My的Cl1 2 3 4 5 6 中。
但是,尽管该项目已成功地构建,但初始加载时间长达2 0秒,这极大地影响了用户体验。
为了解决此问题,我们采用了GZIP技术,该技术通过在服务器侧和客户端压缩来大大减少数据传输时间。
首先,让我们从GZIP的操作开始。
可以在服务器端生成GZIP文件,例如,通过NGINX GZIP模块或链接到节点的压缩库。
NGINX GZIP模块将自动压缩静态资源和接口数据,并将压缩数据传输到负责减压的客户,从而节省传输时间并加速页面的加载。
同样,节点压缩库还提供压缩功能,该功能还可以在服务器端执行压缩操作。
此外,现代的施工工具(例如WebPack)和快速自动管理压缩任务。
GZIP客户文件的生成可以避免在服务器端重复进行压缩操作,并减少服务器上的负载。
当客户请求资源时,如果服务器发现已经存在文件的压缩版本,它将直接提供,从而节省每个请求的压缩时间。
尽管客户必须在包装期间等待很长时间,但是此方法可以改善系统的整体性能,因为服务器必须面对大量同时请求。
在实际部署中,我们选择使用nginx作为服务器端的GZIP配置。
通过激活NGINX配置文件中的HTTPGZIP HTTPGZIP模块,可以在客户要求时压缩并自动传输数据。
同时,对于迅速构建的项目,他可以利用其集成的GZIP压缩,而无需其他配置插件。
为了检查GZIP技术的效果,我们在快速构建项目时显示了加载速度的比较。
GZIP压缩后,页面的加载时间大大缩短,从而改善了用户体验。
总而言之,通过在服务器端和客户端部署GZIP技术,我们可以有效地提高网站性能,大大减少页面加载时间,并为用户提供更流畅的浏览体验。
9 个前端性能优化的最佳实践
优化额叶性能的九种最佳实践如下:最小化资源和压缩:在HTML,CSS和JavaScript中删除冗余数据,例如不必要的注释,不必要的空间的格式和白色字符。通过压缩这些资源,减少了从服务器请求的代码量,从而加速了加载。
压缩文件:使用诸如GZIP和Brotli之类的工具来压缩HTML,CSS和JavaScript文件。
GZIP减少了传输的数据量,而Brotli的压缩率较高,这特别适合JavaScript和HTML / CSS文件。
图像优化:选择诸如WebP或AVIF之类的新图像格式,这些格式比JPG和PNG等传统格式更有效。
提供一个反应性图像大小,以减少不必要的服务器调用。
减少服务器调用:优化前代码以减少不必要的服务器请求。
通过使用诸如懒惰加载之类的技术,仅在必要时加载资源。
预加载:使用偏好技术加载用户可能需要的资源。
由于服务器的渲染和DNS预阅读,提高了加载速度。
缓存:使用浏览器聊天资源的副本,以避免每次访问它重新启动。
配置适当的缓存策略以平衡资源更新和加载速度的更新。
使用CDN:通过CDN存储资源副本以缩短用户和资源之间的距离。
CDN可以大大减少文件大小并提高加载性能,尤其是对于图像资源。
根据请求的冷和范围:按需将大型JavaScript文件按需将大型JavaScript文件划分。
使用代码分割技术来改善资源的使用和加载速度。
监视和优化:使用性能监控工具连续监视和优化前面性能。
根据用户的行为和性能数据调整并连续优化额叶代码和资源。
这些最佳实践有助于提高正面性能,降低篮板率并扩大用户在网站上的停留,从而改善用户体验。
前端react单页应用项目太大,导致开发环境编译过慢,有什么解决思路么?
React项目使用DV框架,包装后,Roadhog软件包工具仅创建一个index.css和index.js。所有JS文件都包装到index.js文件,因此该文件具有1 1 0万。
当部署在服务器上时,当您进入主页时,它的加载非常缓慢,这将导致许多用户的损失。
解决方案:压缩GZIP。
GZIP编码是一种用于提高Web应用程序生产率的技术。
流量高的网站通常使用GZIP压缩技术,使用户感觉更快。
这通常适用于www服务器上安装的函数。
当某人访问该服务器上的网站时,该功能在服务器上压缩网页的并将其传输到浏览器以访问计算机以显示它。
通常,可以将简单文本的压缩到原始大小的4 0%。
它会更快,效果是您将在按URL后快速显示。
当然,这还将增加服务器上的负载。
通常,该功能模块安装在服务器上。
GZIP可以显着加速网站。
有时压缩系数达到8 0%。
我最近检查了一下,他至少有4 0%,这非常好。
在Apache2 之后的版本中,模块的名称不是GZIP,而是mod_deflate。
nginx启用gzip:将下一个配置添加到nginx.conf:1 gzipon; 2 GZIP_BUFFERS3 2 4 K; 3 GZIP_COMP_LEVEL6 ; 4 GZIP_MIN_LENGTH2 00; 5 GZIP_TYPESTEXT/CSTEXT/XMLAPPLICATION/JAVASCRIPT; 6 Gzip_Varyon; RESTART NGINX:USR/local/nginx/sbin/nginx-sreload1 清洁浏览器缓存并查看网页。
您可以发现第一个负载速度要快得多。
希望这对您有帮助!
关于用nginx启动gzip的配置
关于GZIP与NGINX的组成,主要要点包括:运行GZIP:GZIP:GZIPON:控制是否启用GZIP压力函数。压缩文件的最小尺寸:gzip_min_length1 k:sels文件大于此大小的sels将被压缩。
通常将其设置在1 K或更大的情况下,以避免对非常小的文件的不必要的压力。
压力水平:GZIP_COCP_LEVEL1 9 :设置压力水平,1 个较低,9 个较高。
通常确定中间值以在速度和压力之间达到平衡。
压力类型:gzip_typestext/plainapplication/jsonapploiona/javaScript :确定必须压缩的MIME类型。
它通常包括常见类型,例如文本,json,javaScript等。
GZIP禁用特定的浏览器:gzip_disable“ MSIE [1 6 ]。
临时商店大小:gzip_buffers3 2 4 K:设置绝缘尺寸和数量。
这可以影响内存的压力和使用的性能。
通常为1 .1 确保与现代浏览器的兼容性。
注意:如果在应用程序服务器前方作为加载预算的NGINX集合的另一层,则NGINX GZIP层不允许,或者与后接口服务器的联系取决于HTTP/1 .0协议,默认情况下,这可能会导致URL不向计划的URL施加压力。
如果NGINX前立面无法进行GZIP,则在1 .1 的GZIP_HTTP_VERVERT上未设置背景NGINX,GZIP将不会按下URL。
使用GZIP_Proxied和GZIP_TYPES指示时,请确保正确配置以避免不必要的性能消耗和资源压力。