王志勇 发表于 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。
自由勇 2022-05-14 09:49
PHP版本,如果用亚洲主机,应该是能看出一点区别,PHP 7.4会更快,速度是PHP 7.2的2倍左右。
用欧美主机,PHP版本几乎就看不出区别了,因为网络的原因,访问速度都会慢一点。
自由勇 2022-05-14 09:51
是的,测试主机和网络的速度,完全可以用静态页。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新:2018-09-21
速度是永恒的主题
UTF-8、HTTPS原来都是浮云
https安全吗?
独立博客有必要安装https吗?
近期的主题:
为什么本博客一定要谈2023问题?
博客和短视频的贡献本质
真玄学心得(12):寓意和禁忌
人生讨论(2):女人为什么这样?
人生讨论(1):信佛和人性
如何正确看待2023~2027/通过2023问题谈创业
梦见超大规模UFO
真玄学讨论(2):谈谈霸凌
真玄学心得(11):为什么称为真玄学?
还是想重回贴吧
网页如何在1秒内打开?
真玄学讨论(1):谈谈到手刀
优惠流量卡失败记
数码评测(49):解析一套较为主流的老配置如何起飞
数码评测(48):LM2596S和XL4015降压板的差别
为什么有些博文关闭评论(1)?
真玄学心得(10):正确记账和财富变化
由域名想到的资本的善恶
为什么UFO信息总是美国先传出的?
互联网络现状(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年 +