返回列表 发布新帖
查看: 15|回复: 0

为了在 CF 上实现低延迟的效果,打开页面后每半分钟发送一个请求对赛博菩萨有多大伤害

1773530976发表于 前天 08:29 来自手机版 | 查看全部 |阅读模式
我预计我的网站不会有特别大的流量。我的网站基本都是静态页面,worker 也会用一些。但是就算没有 worker 也不影响一般使用。

事情的起因是大陆访问免费版的 CF 很卡。然后我灵机一动想到了通过预载缓解延迟,我想做的网站的用户的访问很可能很好预测。基本就是个类似游戏的网站,我估计大部分用户都会一关一关顺序访问。试了一下效果果然很惊艳,除了首次访问都能做到瞬间打开。然后好像在让 AI 写的过程中了解到了 service worker ,使用了 SWR 策略之后效果一样,但是不用将某些文件设置成缓存时间很长了。提醒一下用户一般刷新两次才能获取到最新的内容就行了。

然后好景不长。过了一段时间我发现隔了一段时间再访问会出现很高的延迟,而这个延迟好像是浏览器导致的。就是明明显示使用了缓存,但是有时候会卡一两秒。然后进一步的测试我发现这好像是 edge 的问题,chrome 一直都是瞬间打开。我问了微软的客服,客服的意思大概是 chrome 那样做有副作用还是什么的,说是 edge 没有那么激进。

这个好像也不是 CF 的问题。有人说可能是 TTL 的问题,毕竟 CF 托管的域名的 TTL 就是五分钟。我试了一个域名 TTL 更大的建站的网站,还是一样。

然后为了让网站在 edge 上也比较流畅就只好苦一苦赛博菩萨了。我试了一下在网页里放一个不可见的框架然后每半分钟刷新一下那个框架效果还算不错。五分钟之后在浏览器收藏夹里里点击网站对应的按钮打开很快。框架里面就是一个很简单的属于我的网站的页面。之前我试过两分钟刷新一次,偶尔还是会卡。半分钟目前还没发现卡顿。我试了十次。不过如果我的网站所在的选项卡不是选中状态的话,好像还是可能出现高延迟。我就不要自行车了。

另外我这个方法简单说是每隔半分钟刷新在 A 页面中的框架中的页面 B ,然后再页面 A 开着的情况下每隔五分钟访问页面 C 也会获得低延迟的效果。我试了六次。我估计测试到这里应该就跑通了,其他的页面应该同理了。

谁有没有更好的方法?

我特地查了一下,伤佛报应很大,估计菩萨也差不多。很害怕。我很迷信。手动狗头。
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表