王志勇 发表于 2022年05月13日 15:45
比如CDN缓存,其实是在10年前国际线路很不稳定的情况下,使用CDN使网页有了明显的加速,现在如果去掉CDN,反而访问速度会稍稍快一点点。因为一两年前我尝试过套用CF,后来又去掉了。
网页转成HTML静态页,也不太现实,因为工程量巨大,二是共用部分时常需要修改。尤其是论坛、博客页,因为有评论,这些应该做成动态页。
优化是有方法的
逐一排查瓶颈,多年来我是这样做的,除了第4条,每个人都很容易做到:
1. 去掉https,原因请见这个栏目,大多数的网站不需要https。
https会造成很多网站访问不稳定,包括很多人使用国内空间,访问速度有时不影响,有时会慢0.5秒~2秒。
2. 如果是中文博客、中文网站,域名的DNS一定要使用国内的,首次访问可提高120ms左右。英文网页,就用国外的DNS,如he.net。
3. 关闭所有的Apache(或Nginx)、PHP的访问日志、错误日志,需要在配置文件里修改;关闭btmp文件。这样VPS会一直保持和新机一样快,否则VPS会一年比一年慢,步骤请见前文。
4. 程序设计。MySQL是网页慢的一个主要瓶颈。
5. DIV+CSS。现在绝大多数网页都是使用DIV+CSS,不像早期用FrontPage做网页,全是table。用DIV+CSS来实现表格,网页是边下载、边显示,所以网页显示非常快,浏览器刚显示标题,网页马上就出现内容。
不像用大的table实现的表格,是等网页加载完成后,才显示内容。在现在的国内外带宽环境下,大table的网页,显示会慢2~4秒以上。现在几乎没有人用大table了。
6. JS站外文件。有个别博客、网站使用了站外JS,比如一些百度统计。JS一定要放在整个网页的最后,否则,如果放在网页当中,需要到JS这个位置的JS文件加载完毕后,才能显示后面的内容。
这也是为什么有时看到有的网页,浏览器标题已经显示了,但是网页会卡10多秒才打开。这种情况不多见,但是仍然存在。
7. 网页一定要启用GZIP压缩,网页打开的速度大约提高2~3倍,方法是在PHP网页的最前面加<?ob_start('ob_gzhandler');?>这一句。
或者通过Apache、Nginx的配置文件来实现GZIP。我是一直使用ob_start('ob_gzhandler');的方法。
上述这些提速步骤,不如说是解除瓶颈的步骤,每一个因素都会影响网页的速度。
8. 前面测试过,PHP 7.4的速度大约是PHP 5.3的10倍。但是对于访问量不大的网站,是看不出区别的,影响远比MySQL的瓶颈小得多。
因为我现在就是同时用PHP 5.3和PHP 7.4。
同理,PHP 5.6,PHP 7.0,PHP 7.3,大多数流量不大的网站(每日IP 1万以下),网页速度方面是看不出来区别的,用哪个都没关系。流量达到一定程度的网站,可能会有影响。
PHP 7.0~PHP 7.3的速度几乎没变化,直到PHP 7.4突然有了提升,PHP 7.4速度约是PHP 7.3的2.1倍。
我使用的都是便宜的,年付不到$10的普通配置的VPS。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新:2018-09-21
速度是永恒的主题
UTF-8、HTTPS原来都是浮云
https安全吗?
独立博客有必要安装https吗?
近期的主题:
谈谈近期网络(2)
数码评测(50):谈谈OPENWRT和潘多拉固件
为什么本博客一定要谈2023计划?(2)
打掉牙齿属轻伤?
人生讨论(4):感情能保持多久?
都是因为满不在乎
遇到社会人紧急应急对策(4)
××事件浅度分析(3)
唐×事件浅度分析(2)
女子如何保护自己?(实时事件)
无限向往农村
真玄学心得(13):实用禁忌
博客功能小更新
人生讨论(3):可否纹身?
语言差异的阻碍
如何进入前10甲?
实用算法讨论(1):站内搜索和搜索引擎
再谈如何欣赏到最美的音乐
为什么本博客一定要谈2023问题?(1)
博客和短视频的贡献本质
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2021年12月(11)
2021年11月(16)
2021年10月(18)
2021年09月(14)
2021年08月(19)
2021年07月(15)
2021年06月(9)
2021年05月(17)
2021年04月(25)
2021年03月(6)
2021年02月(17)
2021年01月(30)
2020年12月(19)
2020年11月(18)
2020年10月(15)
2020年09月(14)
2020年08月(14)
2020年07月(14)
2020年06月(16)
2020年05月(13)
2020年04月(18)
2020年03月(14)
2020年02月(15)
2020年01月(16)
2019年12月(11)
2019年11月(26)
2019年10月(25)
2019年09月(30)
2019年08月(10)
2019年07月(29)
2019年06月(30)
2019年05月(26)
2019年04月(30)
2019年03月(30)
2019年02月(30)
2019年01月(30)
2018年12月(30)
2018年11月(30)
2018年10月(30)
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +