用户主题选择功能失效并导致性能问题?

你好,

首先,感谢 Discourse 如此出色!自从我们从 bbPress 插件迁移过来后,我们一直非常喜爱它(迁移过程并不顺利,但这属于另一个话题)。

我站点的一位用户注意到,当他尝试在个人资料中选择不同主题时,页面显示异常(已附上截图)。然而,作为管理员,我无法复现该模板损坏的情况,因为在我的侧面上它们加载正常。

但令人好奇的是,我原以为我们的社区流量和用户量较大(49,000 篇帖子,7,300 名用户),导致 VPS(2GB 内存 + 2GB 交换空间 + 1 个 CPU)无法应对,从而产生了某种瓶颈,使得网站加载非常缓慢(某些页面需要 3-10 秒才能加载,并显示加载动画)。

我一直使用 Grey Amber 作为默认主题,并默认提供 Dark 和 Light 主题供用户选择。

因此,我决定禁用 Dark 和 Light 主题供用户选择,结果网站突然变得响应迅速,几乎和 Meta.discourse 一样快! 现在,webpagetest.org 和其他页面测试网站显示的加载时间快得惊人,有些甚至不到一秒。就连之前加载非常缓慢的后端页面(如 Sidekiq、日志、升级页面等),现在也几乎瞬间加载。我尚未尝试,但我想知道现在是否可以通过界面进行升级,因为之前它们会卡住、取消或报错等。 天哪,太神奇了,现在通过界面进行升级也有效了…… 我之前不得不通过终端进行操作,并且需要让网站停机 20-30 分钟,我想以后再也不用这样了!

禁用主题或将其设置为非活动状态就能提升性能,这是正常现象吗?我猜不是,但这是我目前遇到的情况,即使我已经多次重建应用。

当前运行版本:v2.4.0.beta1 + 135 157(在输入此内容时已升级,以测试是否可以通过界面完成升级,结果成功,太棒了)
S3 备份
Header Links 主题组件(在添加此组件之前,网站就已经很慢)
discourse-oauth2-basic

DNS 使用的是 Cloudflare,但我知道最好先禁用所有优化/缓存和 Brotli 等功能。现在网站非常快,在相同的 Cloudflare 设置下没有任何问题,唯一的变化就是禁用了主题。

如果这篇帖子太长,我深表歉意,我只是希望提供尽可能多的信息,以便帮助他人或协助调试。

该用户拍摄了浏览器中选择 Dark 或 Light 主题时的显示效果截图,已附上:

当这种情况发生时,浏览器控制台或 /logs 中是否有任何显示?Sidekiq 和日志的缓慢问题很可能不是由主题引起的(grey amber 本质上只是一个配色方案,因此那里没有重大修改)。

我已清除日志,重新为启用了主题供用户选择,并在我的预览中查看,浏览器控制台未显示任何内容。

日志中显示了以下内容,但可能与此无关:

TypeError: t.forEach 不是一个函数
网址:https://wowlazymacros.com/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js
行号:3
窗口位置:https://wowlazymacros.com/t/7-2-5-updated-fury-macros/3811

可能是您的服务器在处理某种图像操作时过载,现在已完成。

也许你是对的。可能是某些处理导致 CPU 在一段时间内飙升至 100%,从而拖慢了其他所有操作。有趣的是,这必须是非常巧合的,因为它已经这样表现了好几个星期,而我一瞬间改变了那个设置,系统就变得无比流畅了,哈哈。

又是一个未解之谜 :stuck_out_tongue_winking_eye:

或者,也许自从我上次重新构建以来,某些提交修复了某些问题。最让我惊讶的是,我现在可以通过浏览器进行升级,这让我非常高兴 :+1: