新测试版更新是否因反向代理导致初始加载时间明显变慢?

我有一个非常小的论坛,它上线还不到一周,直到一小时前我更新到新的测试版之前运行一直正常。现在当我访问网站时,会出现超过 0.75 秒的空白白屏。Cloudflare CDN 只能将其降低到 2.7 秒以上(据称如此,但我觉得实际更长)。

有什么办法可以解决吗?当我正努力让论坛起步时,这种情况显得非常不美观。

哪怕只是一个加载屏幕也会有所帮助,虽然远非理想方案,但至少会让网站看起来没有损坏。

当你提到 Cloudflare CDN 时,你是如何使用它的?

我们已知存在一个未修复的缺陷:如果您的反向代理配置不当(例如错误配置的 Nginx 或 Cloudflare 的橙色云朵模式),系统将加载未压缩的资源。这些资源体积巨大,下载耗时,导致首屏加载速度显著变慢。此外,即使安装正常,使用旧版浏览器(如 IE11 或不支持 Brotli 压缩的其他浏览器)也会触发此问题。

无论如何,您都需要修复反向代理配置。不过,该底层缺陷预计将在本周内修复,敬请期待。

嗯,我基本上只是按照 Cloudflare 的说明更新了 DNS,并购买了 Argo 服务,我没有动过 VPS 或 Discourse 应用程序。我是不是漏掉了什么步骤?值得一提的是,我之所以选择使用 Cloudflare,是因为之前的加载时间本来就超过 3 秒。另外,感谢你们两位的快速回复。

据我所知,使用 Argo 完全未经测试。如果你在看地图,你基本上已经闯入了标记为“此处有龙”的区域。

你需要关闭 Cloudflare 的所有优化功能才能将其与 Discourse 配合使用,一条类似以下的页面规则就足够了:

Discourse 在你重建或更新时已经会对代码进行优化,Cloudflare 无法做得比这更好。让 Cloudflare 以任何方式修改代码均不受支持。此外,建议在速度设置中关闭 brotli,因为他们的实现在过去曾周期性地引发问题。

你可以使用规则缓存 /uploads,但这基本就是 Cloudflare 能用的全部范围。即便如此,请记住,你在客户端和服务器之间增加了跳转,而这正是用户浏览 Discourse 站点时感受到的大部分延迟。因此,虽然它可能通过减少资源请求来减轻一些服务器负载,但其效率远不如使用真正的 CDN。

感谢你的帮助。我最初尝试 Cloudflare 是因为首次加载时出现了长时间的白屏。除了 CDN 之外,还有其他解决方案可以解决这个问题吗?另外,你会推荐哪些“真正”的 CDN 服务?

Cloudflare 通过作为反向代理插入路径并缓存资源请求,充当 CDN 的角色。

任何将资源卸载到其他 URL 的类 S3 CDN,都无需位于客户端与服务器之间的路径上,即可加速资源交付。Meta 上有很多其他 CDN 实现示例。

gzip 漏洞已在最新版本中修复,请尽快更新您的网站。