网页如何在1秒内打开?

王志勇 发表于 2022年05月13日 15:45

这是hostloc.com上刚刚的一个提问《你们网站怎么优化到一秒内打开的?线路固定的情况下》。回复当中,几乎没有一楼是使用了很有效的方法。现在因为国内外带宽成熟稳定,确实很多网页能在1秒内打开。

比如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。

4条评论:
1   angel2018 2022-05-14 09:43
勇哥,现在博客用的是php7.2,之前是php5.5,不知道是不是JP-vps的速度快的原因,还是升级了比较新的博客源码,也许如你所说,php7.2也有功劳,速度是明显快了。

自由勇 2022-05-14 09:49
PHP版本,如果用亚洲主机,应该是能看出一点区别,PHP 7.4会更快,速度是PHP 7.2的2倍左右。

用欧美主机,PHP版本几乎就看不出区别了,因为网络的原因,访问速度都会慢一点。

2   angel2018 2022-05-14 09:45
博客打开的和勇哥比,还是慢了一点点,不过试了静态页面,是一点就开。刷一下,就。

自由勇 2022-05-14 09:51
是的,测试主机和网络的速度,完全可以用静态页。

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

王志勇:1980-09-26 (42周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

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年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2022 auiou.com All rights reserved.
此Blog程序由王志勇编写