移动帖子返回502错误网关

我们增加了内存并重建了数据库,但问题仍然存在。

我想问一下开发人员是否知道这个问题……谢谢!

作为管理员,有什么快速解决方法吗?比如延长超时时间?

不确定。延长超时时间似乎会有帮助。这种情况在热门讨论串中发生得更频繁,所以感觉像是存在某种采样或扫描机制,耗时过长。

如果我能弄清楚如何实现这一点,我会回来汇报。我打算将其翻倍。

是的,在 2.5.0.beta2 版本中问题依然存在。

更改内存后,您运行了 Discourse 设置吗?需要更新某些设置才能充分利用 Ashanti 的内存。

我不太确定,因为具体实施由另一个人负责。但我会向他提及,需要完成这一步骤才能结束整个流程。非常感谢!

您好,
在移动帖子时,我遇到了很多 502 错误。
您有计划优化这一场景吗?

谢谢

你好,你找到它了吗?对于我们内存较低的情况,如果能将超时参数化到 app.yml 环境变量或 Discourse 站点设置中,那就太好了。


也许是个蠢问题?


当你像这样批量移动帖子时,这个过程是由 Sidekiq 管理的吗?

抱歉,我还没去查代码…


更新


我快速浏览了一下 Ruby 代码库,确实,当调用“移动帖子”功能时,任务会通过 enqueue_jobs() 进行排队。

虽然我不是 Discourse 开发者,但作为一个普通的代码浏览者或观察者,看起来与移动帖子相关的延迟、错误或超时问题,会直接关联到 sidekiq 的性能和配置。

几天前我曾尝试研究 Discourse 在系统层面如何使用 Sidekiq,但未能找到适合初学者的“速成版”说明。

于是,我去了 Sidekiq 官网,想更深入地了解其底层运作机制,结果发现有三个不同的产品版本,顿时感到困惑,只好放弃 :slight_smile: 因为在我的短暂注意力和对即时满足的需求下,我无法弄清楚 Discourse 使用的是哪个版本的 Sidekiq,具体有哪些可配置的功能和开关……

作为这个领域的初学者,我很想了解 Discourse 中可用的 sidekiq 架构、功能、开关、环境变量 等具体信息……但到目前为止,我*“仍然没有找到我想要的东西”*——这句歌词来自我们最爱的 U2 乐队。

以上所有问题都源于好奇心……

更新:

根据另一位线程中一位领导的建议,我们关闭了除“在线用户”之外的所有插件,最近移动操作已不再出现问题。

因此,我们持谨慎乐观态度。如果情况有变,将及时更新。

感谢所有在此问题上提供帮助的各位!

您具体禁用了哪些插件?

理想情况下,我本应逐个测试以查明是哪一个(或哪些)导致了问题,但我没想到它们能同时生效,所以一次性全部关闭了。

很可能是废话,我猜它在帖子移动时有触发的钩子。

好的,知道了。谢谢。也要感谢 @featheredtoast 提供的修复。

我的社区最近在处理帖子移动时频繁出现 502 错误,尤其是在大型线程之间。我没有安装任何自定义插件。根据另一个 Discourse 主题中的建议,我将 unicorn_workers 增加到 10,并将 db_shared_buffers 增加到 4096MB,但情况并未改善。以下是我们论坛的 ./discourse-doctor 日志。希望能得到一些建议。谢谢!

==================== DOCKER 信息 ====================
DOCKER 版本:Docker version 17.10.0-ce, build f4ffd25

DOCKER 进程 (docker ps -a)

容器 ID        镜像                 命令             创建时间            状态              端口                                      名称
ddfb2222fd64        local_discourse/app   "/sbin/boot"        10 天前         运行中 10 天          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

ddfb2222fd64        local_discourse/app   "/sbin/boot"        10 天前         运行中 10 天          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

Discourse 容器 app 正在运行


==================== 插件 ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git

未检测到非官方插件。

官方插件列表请参阅:https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb

========================================
Discourse 2.6.0.beta2
localhost 上的 Discourse 版本:Discourse 2.6.0.beta2 


==================== 内存信息 ====================
RAM (MB): 16434

              总计        已用        空闲      共享        缓冲/缓存     可用
Mem:          16048        5605         919        4255        9523        5850
Swap:          2047         437        1610

==================== 磁盘空间检查 ====================
---------- 操作系统磁盘空间 ----------
文件系统                 大小  已用  可用  使用率  挂载点
/dev/disk/by-label/DOROOT  315G  132G  168G  45%  /
/dev/disk/by-label/DOROOT  315G  132G  168G  45%  /var/lib/docker/aufs
/dev/disk/by-label/DOROOT  315G  132G  168G  45%  /
/dev/disk/by-label/DOROOT  315G  132G  168G  45%  /var/lib/docker/plugins
/dev/disk/by-label/DOROOT  315G  132G  168G  45%  /

---------- 容器磁盘空间 ----------
未知的简写标志:'w' 在 -w 中
请参见 'docker exec --help'。


==================== 磁盘信息 ====================
磁盘 /dev/vda: 320 GiB, 343597383680 字节,671088640 扇区
单位:1 扇区 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最优):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:29B528BA-16C4-402E-BEE9-53555C8B6F10

设备     起始       结束     扇区数   大小 类型
/dev/vda1   2048 671086591 671084544  320G Linux 文件系统

==================== 磁盘信息结束 ====================

你好,我也遇到了同样的问题。因此无法拆分大主题。
我也尝试了安全模式,但没有任何变化。

不过,在我的开发环境 Discourse 安装(同样是 2.6.0.beta2 版本)中没有出现问题。
日志中也没有任何记录。

我这一年一直遇到这个 502 错误 :frowning:

我们好像还没问过你:你正在运行哪些插件?

我禁用了所有插件以检查这是否是插件相关的错误。看起来它在长线程中稳定地重复出现。