更新/重建导致CPU使用率飙升

我刚刚在简单重启 Amazon Lightsail 实例时遇到了最奇怪的经历。

  1. 执行了重启… 等待重新启动。
  2. 在某些页面(我假设是未缓存的页面)上看到了“502 Gateway Error - Nginx”错误消息。等待了一会儿…
  3. 通过 shell 执行了 Discourse 重建。
  4. 收到错误消息,显示重建失败。
  5. 使用 ./discourse-doctor - 同样失败。
  6. 禁用了非官方插件并重新构建 - 仍然失败。

我以为我彻底搞砸了。在进一步研究时,我再次检查了论坛,却发现它运行正常。这完全说不通,因为 Discourse 文档的即时响应是“警告!应用程序甚至未运行!” :slight_smile:

我的理论是,这可能与 Amazon 的突发限制有关,而不是其他原因。重启可能使服务器负载增加,从而导致最初的 502 错误,但重建过程确实将服务器的突发使用率推到了 70-80%,也许此时系统资源已不足以运行重建脚本?

所以我的最终问题是(因为这一直是困扰更新重建过程的问题),是否有办法限制更新脚本对服务器的负载,避免它出现异常? 我的意思是,这是一个 8GB 内存的实例,并不算太弱,等等。

谢谢… 现在我毫无理由地吃了两片阿普唑仑(Ativan)。:smiley:

仅凭您的描述很难判断。重新构建时您遇到了什么错误?

我会尽快尝试另一次更新并在此更新相关内容。由于我没有保存日志文件,而且运行更新会严重消耗我的爆发值(尤其是在连续运行三次后),因此我需要等待一两天让爆发值恢复。

这似乎就是问题所在。

正在初始化默认值
*** 正在捆绑资源,这需要一些时间 ***
$ RUBY_GC_MALLOC_LIMIT_MAX=20971520 RUBY_GC_OLDMALLOC_LIMIT_MAX=20971520 RUBY_GC_HEAP_GROWTH_MAX_SLOTS=50000 RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=0.9  bundle exec rake themes:update assets:precompile
正在更新 Dark...
Dark 更新失败
about.json 包含无效值:最大 Discourse 版本无效

现在我的论坛完全无法访问,返回500错误。:frowning:

为什么会发生这种情况?我本以为更新只会在流程完成后替换当前正常运行的论坛,而不会出现问题?

我不了解你最初的问题,但这是你当前的问题:Failed to Bootstrap, due to discourse-alt-logo theme component

你应该能够

./launcher start app

然后删除有问题的主题组件。

但深色模式不是系统主题的一个组成部分吗?系统主题组件怎么会导致这种问题呢?

不过谢谢,既然现在明白了是怎么回事,我大概能修复这个问题了。

主题组件已弃用,Discourse 拒绝使用它。

但如果你执行 ./launcher rebuild app,它会停止容器以构建新容器(因为它使用相同的数据库文件)。如果构建失败,你需要重启容器才能使其重新运行。

是的,我注意到,一旦删除了“深色”和“替代”徽标组件,更新屏幕上的所有其他元素实际上都已更新完成。