您当前的位置:首页 > 电脑百科 > 站长技术 > 网站

一步一步来看网站访问速度优化

时间:2023-08-14 13:57:03  来源:  作者:天外天ElevenLord

带着问题继续:

  1. 哪些方面容易导致网站打开慢
  2. 页面打开时间多长属于正常
  3. 现在有打开速度为1.44秒还有没有优化的空间
  4. 全站https如何实现
  5. 优化网站的专业技巧有哪些

 

通常解决前面80%的问题需要花20%的精力,解决剩余的20%的问题需要共80%的精力。网站的优化其实我从60S优化到10S的时候,已经进行不下去了。但10S的打开速度对一个站点来讲依然是致命的,速度太慢了,正常网站打开速度最久不能超过3S,每增加1s,用户的耐心都指数级被考验,10s的访问速度几乎不会有用户驻留,12306这种霸王站点除外。从10s到1.44s是在前端同学的帮忙下,才得以继续。我们一步一步来看。

从60秒到10秒

网站访问速度慢有很多种情况:

  • a> 访问者自己硬件设备(硬盘、CPU、网口、运营商带宽)资源不足
  • b> 服务器硬件设备(硬盘、CPU、网口、运营商带宽)资源不足
  • c> 图片未做优化太大、太多导致资源加载太多而慢
  • d> 应用程序代码质量差导致性能消耗大、响应速度慢
  • e> 页面设计不合理,导致资源整合过多(图片、css、js、前后端请求等)
  • f> 其它DNS、安全入侵等问题

 

通常解决掉a b c可以帮我们解决80%的问题只需要花费20%的精力,d e f可以帮我们解决掉剩下的20%问题但需要花费80%的精力。

 

阿里云上查看了服务器性能消耗,虽然硬件1Core2GB内存配置不高,但常年负载0.01。

 

接下来的思路也很简单,打开浏览器开发者工具(建设chrome)排查页面元素

imagemagick convert

a和b 的硬件设备问题不做我们这次探讨内容。

c 图片未做优化,太多导致资源加载太而慢,我们打开chrome的开发者工具排查。

 

有没有发现:

  • 页面只展示了不到1/4的内容,但打开耗时已经9.99s。
  • 首页达592KB
  • 有很多大于50KB的图片
  • 处理过程忘了保留现场,其实还有很多大于150KB图片

 

对号入座,图片资源没做优化

  1. 没有UI
  2. 图片很多,不可能一张张优化
  3. 页面设计用的开源主题,没有可设计空间

看起来能优化的只有图片大小了。推荐linux下图片优化工具 imagemagick convert

功能测试通过后,简单粗暴处理了下网站图片问题。

# cat convert.sh 
#!/bin/bash

## >50k
find  /png/upload/path/ -regex '.*(jpg|JPG|png|PNG|jpeg)' -size +50k -exec convert -resize 350x350 -quality 65 {} {} ;

## >100k
find  /png/upload/path/ -regex '.*(jpg|JPG|png|PNG|jpeg)' -size +100k -exec convert -resize 300x300 -quality 60 {} {} ;
find  /png/upload/path/ -regex '.*(jpg|JPG|png|PNG|jpeg)' -size +100k -exec convert -resize 80%x80% -quality 60 {} {} ;

## >200k
find  /png/upload/path/ -regex '.*(jpg|JPG|png|PNG|jpeg)' -size +200k -exec convert -resize 250x250 -quality 60 {} {} ;
find  /png/upload/path/ -regex '.*(jpg|JPG|png|PNG|jpeg)' -size +200k -exec convert -resize 70%x70% -quality 60 {} {} ;
  • 加入定时任务
crontab -l
10 2 * * * bash /root/convert.sh

 

这番简单粗暴的处理后,整体页面图片虽然变的模糊,但加载速度好在从60s优化在10S了。但对普通用户来讲,依然难以接受,3s以上的访问速度我们都无法接受。

从10秒到1.44秒

这个时候开始求助网络了。

谷歌关键字搜索 “wordPress/ target=_blank class=infotextkey>WordPress 速度”,看到知乎上有个技术帖(哈哈,知乎竟然有技术帖了,文艺少年都老了吗?)给出了以下几个建议:

  • a> 关闭Avatar
  • b> 去掉google字体
  • c> 关闭Emoji
  • d> 使用360云解析,自动加速
  • e> 使用七牛免费加速
  • f> 开启 WP Super Cache插件
  • g> 开启lazyer loader瀑布流加载

 

我们一项一项来尝试

  1. a b c项早在建站就已经解决了
  2. d 经测试无效(这里的无效指的是药不对症)
  3. e 好东西,但手持身份证的阶段我放弃了,太麻烦了,而且还在公司不方便
  4. f 开启 测试无效。因为1> Nginx 开启gzip 2> php开启opcache 3> 使用的主题有瀑布流布局异步加载的功能 所以再开启这个功能没有效果
  5. g开启无效 同4步骤的原因一样

细究服务器性能!!

转了一圈无果后,思路再回过来,到目前为止还没有具体定位到原因所在,就在瞎摸索,这是不对的!!不对的!!不对的!!重要的事情说三遍!!!

  1. 开启php-fpm的慢日志
  2. 开启myql的慢日志

 

经排查php,nginx,MySQL 均没有异常请求。php-fpm有慢请求,但不构成威胁,这次没有思路了。

求助前端同学

这里其实最大的疑问还是为什么首页会这么大,而我看下来什么也没有,就一个框架结构而已。最后不得已求助前端同学,经过排查后发现。

我的首页达714KB,加上出口只能1Mb,简单换算下:

 

首页的加载时间=714KB/1MB ~=714KB/100KB~=7.14S

 

首页这么大,出口又这么小,加载时间当然长了,时间当然长了。。。那么首页多大合适呢?

 

  • 我的首页

 

 

大小差了20倍有余,终于找到问题所在了!~

 

  • 那么首页到底地方大哪里了?

 


 

经过前端同学的协助排查发现,页面大概有5个地方有图片被转换为base64格式,导致页面变大。

 

  • 那为什么我当时看不出来问题呢?

因为我对base64不了解,看到source view里有一大堆字符串,没有安全问题,所以就自认为这是页面应该有的信息。而且又想当然认为字符串不会占据太多空间。我们来做个简单的数学题:

 

  • 首先:1个英文字母占 1个字节=1Byte
  • 其次:1024个英文字母=1Byte * 1024 = 1KB
  • 然后1024 * 1000 个英文字母 = 1KB * 1000 = 1MB
  • 接着:这么一大坨英文字母有多少个呢?约 5290 个字母,占多大空间呢? 约为 5.92KB。而这样的一大陀字母一屏显示不完。。。。。一个页面5个。 共占用空间约700KB。
  • 最后:前面有介绍过,我们很穷,所以宽带口只有1Mb 约等于 100KB
  • 所以:懂了吧。 我们单下载700KB的东西就需要 700KB/100KB = 7S。。。

base64为什么会让首页变大呢?

说起来有点复杂,简单讲:Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于 {displaystyle 2^{6}=64} {displaystyle 2^{6}=64},所以每6个比特为一个单元,对应某个可打印字符。3个字节有24个比特,对应于4个Base64单元,不足3个字节补足4个可打印字符来表示。因此可以估算编码后数据长度大约为原长的135.1%。

而优化后的页面是什么样子呢?

 

几乎0KB,为什么会差别这么大呢? 这是因为图片不采用base64加密,页面将不再镶嵌图片具体信息,而只会保留链接地址,即页面从 原始图片大小 x 135.1% 变为 一个链接地址的大小 。

base64图片加密除此问题外,还会有浏览器兼容性、构建工具支持度要求等问题。

base64既然让图片变大,为什么前端开发还要使用base64呢?

图片的 base64 编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址。这样做有什么意义呢?我们知道,我们所看到的网页上的每一个图片,都是需要消耗一个 http 请求下载而来的,没错,不管如何,图片的下载始终都要向服务器发出请求,要是图片的下载不用向服务器发出请求,而可以随着 html 的下载同时下载到本地那就太好了,而 base64 正好能解决这个问题。效益虽小,但却缺能积少成多。

其它更多base64内容参考:
http://www.cnblogs.com/coco1s/p/4375774.html

经过这次的细节优化后,再打开时候快感还是不错。

主要的瓶颈依然在图片,不过从我这个维度图片已经不能再做优化,这个时候UI的价值就凸显了。



Tags:   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
AI是万灵药?Meta要把大模型塞进AR眼镜里
寻找下一块“屏幕”,这无疑是最近几年科技行业的一个热门赛道。随着个人计算机点燃了互联网,智能手机让移动互联网无处不在之后,这前后两次造富神话的出现,也让所有人都在期待下...【详细内容】
2024-04-09  Search:   点击:(2)  评论:(0)  加入收藏
考研调剂第一次失败后,考生还能继续调剂吗
考研调剂失败后,考生仍然有机会继续调剂。如果考生在第一次调剂过程中没有收到复试通知,可以在时间允许的情况下继续申请其他院校的调剂,并参加复试。考生需要密切关注各高校的...【详细内容】
2024-04-09  Search:   点击:(2)  评论:(0)  加入收藏
高职单招是什么意思?
高职单招是什么意思?2024高考:高职单招和高考的区别在哪里?...【详细内容】
2024-04-09  Search:   点击:(2)  评论:(0)  加入收藏
在饭局上喝酒,要学会3句“万能开场白”,让大家对你刮目相看
在饭局上喝酒,是一个社交场合的重要环节。作为一个有见识的人,学会几句“万能开场白”不仅能活跃气氛,还能让人们对你刮目相看。以下就是三个可以用于各种场合的万能开场白,希望...【详细内容】
2024-04-09  Search:   点击:(2)  评论:(0)  加入收藏
汽车不停能开多少公里?老司机:别超过极限,否则伤车又伤人!
在如今这个汽车普及的时代,私家车已经成为了不少家庭的必备品。它不仅代表着一种出行的便利,更是生活品质的提升。然而,正如一枚硬币的两面,私家车的广泛使用也带来了一系列问题...【详细内容】
2024-04-09  Search:   点击:(2)  评论:(0)  加入收藏
三证齐全,中国“飞的”不远了?
【环球时报记者 丁雅栀 李炫旻 环球时报驻英国、德国特约记者 纪双城 青木】4月7日,中国民用航空局在广州为亿航智能EH216-S无人驾驶载人航空器系统颁发生产许可证,加上去年取...【详细内容】
2024-04-09  Search:   点击:(2)  评论:(0)  加入收藏
小米SU7被大卸八块,雷军回应了
4月8日晚国内有一场汽车发布会,然后出现了令人不可思议的一幕。他们把小米SU7当为标杆进行对比,但却把小米SU7的参数给标错了。随后小米官方连发三条信息进行强硬回应,最后的结...【详细内容】
2024-04-09  Search:   点击:(2)  评论:(0)  加入收藏
视频号,从抖音挖来一个“一姐”?
文|王亚琪编辑|斯问“你说你要尊严,一个月5000块钱的合同工资,能体现你的尊严吗?”“我那么多的人脉和资源,你如果够聪明的话,你踩着我肩膀往上爬不是更快吗?你拿着我每个月收来的房...【详细内容】
2024-04-09  Search:   点击:(2)  评论:(0)  加入收藏
0首付、0利息!多家车企跟进“车贷新政”,但背后还有“隐性”要求
“您是全款购车,还是贷款购车。”4月7日,《每日经济新闻》记者进入北京某吉利银河4S店后被销售人员如此询问。“如果您选择贷款购车,现在很划算,可以有多种分期方案可选。比如,至...【详细内容】
2024-04-09  Search:   点击:(2)  评论:(0)  加入收藏
真正0首付、0利息来了!“车贷新政”后,多家车企放大招,甚至出现高达3万元金融贴息
每经记者:段思瑶 每经编辑:王月龙,裴健如“您是全款购车,还是贷款购车。”4月7日,《每日经济新闻》记者进入北京某吉利银河4S店后被销售人员如此询问。“如果您选择贷款购车,现在...【详细内容】
2024-04-09  Search:   点击:(1)  评论:(0)  加入收藏
▌简易百科推荐
访问网站显示不安全是什么原因?怎么解决?
访问网站时显示“不安全”,主要原因以及解决办法: 1.没用HTTPS加密:网站还在用老的HTTP协议,数据传输没加密,容易被人偷看或篡改。解决办法是网站管理员启用HTTPS,也就是给网站装...【详细内容】
2024-04-08  JOYSSL爆爆    Tags:网站   点击:(4)  评论:(0)  加入收藏
SSL证书过期后网站还能正常访问吗
当SSL证书过期后,尽管网站的服务器仍然可以处理请求并提供服务,但是浏览器会在尝试建立安全连接时检测到证书已过期,并显示警告信息告知用户该网站的安全证书已过期。这会严重...【详细内容】
2024-03-27    见方天地  Tags:SSL证书   点击:(11)  评论:(0)  加入收藏
HTTPS网站怎么实现
HTTP协议迁移到HTTPS,以提供更加安全的网络环境并增强用户信任。那么,如何将一个使用HTTP的网站安全升级到HTTPS呢?我们需要理解HTTP和HTTPS的区别。HTTP,即超文本传输协议,是一...【详细内容】
2024-03-27  倏然间    Tags:HTTPS   点击:(6)  评论:(0)  加入收藏
SSL证书即将过期,不更新可以吗?
SSL证书是用来保护网站数据传输安全的重要工具,通过数据加密和身份认证两大功能,为网站提供了一个安全、可信的网络环境。由正规CA机构所颁发的SSL证书都具有一定的使用期限,通...【详细内容】
2024-03-27  帝恩思DNS    Tags:SSL证书   点击:(7)  评论:(0)  加入收藏
网站运营的好与坏主要决定因素是内容与seo优化
在这个信息爆炸的时代,网站如雨后春笋般涌现,如何在众多网站中脱颖而出,吸引更多的访问者,成为了每一个网站运营者关心的问题。我们不禁要问,是什么决定了网站运营的好与坏呢?答案...【详细内容】
2024-03-26  易华合讯    Tags:网站运营   点击:(9)  评论:(0)  加入收藏
网站制作不再难:小白也能上手的建站教程
在互联网高速发展的时代,网站已成为企业、个人展示自身形象和实力的重要窗口。过去,网站制作对于许多人来说是一项技术活,需要专业的知识和经验。但随着技术的进步,现在即便是没...【详细内容】
2024-03-24  一度旭展互联网科技    Tags:网站制作   点击:(5)  评论:(0)  加入收藏
想建个网站赚钱?先来看看这篇建站指南吧
随着互联网的飞速发展,越来越多的人希望通过建立自己的网站来实现创业梦想或者赚取额外的收入。但建站并非一蹴而就的简单事情,它需要综合策划、设计、技术和运营等多方面的知...【详细内容】
2024-03-21  一度旭展互联网科技    Tags:网站   点击:(4)  评论:(0)  加入收藏
个人站长的出路在哪?
个人站长的出路在于不断适应互联网的发展趋势,积极寻求创新和变革。以下是一些个人站长可以考虑的出路: 转型为内容创作者:随着内容营销的兴起,越来越多的企业和个人开始注重内...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(39)  评论:(0)  加入收藏
网络环境和用户需求不断变化,个人站长该怎么办?
个人站长是一个相对特殊的群体,他们通常以个人身份独立运营网站,没有大型企业或组织的支持。由于缺乏资源和大企业的光环,个人站长需要更加注重策略和技巧,才能在竞争激烈的网络...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(33)  评论:(0)  加入收藏
AI时代 个人站长还有出路吗?
AI时代,个人站长依然有出路,但需要进行一些调整和转型。首先,利用AI工具可以帮助个人站长提高效率和产出质量。例如,利用AI进行内容创作、智能推荐、用户画像分析等,可以大大提升...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(43)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条