你好,
我正在尝试调试反复出现的 500 内部服务器错误。
首先是环境配置(我知道这并不是理想的部署方式,也不是推荐使用 Docker 的方案):
- Discourse 2.3.8
- Ruby 2.7.2(使用 snap 安装)
- Redis Server 5:4.0.9-1ubuntu0.2(Ubuntu 官方包)
- PostgreSQL 10.15(运行在另一台主机上)
我编辑了 config/environments/production.rb 文件,设置了:
config.log_level = :debug
我们看到的错误示例(夹杂在 200 状态码之间)可以在这里找到(由于帖子中最多只能放两个链接,其余内容也在此处):Ubuntu Pastebin
我曾尝试判断是否某种特定类型的请求导致了 500 错误,确实发现了一些模式(参见之前的 Pastebin 链接)。
目前我尚未找到进一步调试的方法。
我不太确定这是否是一个 bug,而且遗憾的是我无法复现该问题。这些错误在一天中随机发生,穿插在 200 响应之间。这可能是某种锁或资源争用问题,但在没有更多日志的情况下,我实在无法确定问题所在。
以下是当前进程使用的限制信息,以防这是问题所在:Ubuntu Pastebin
如果有任何关于如何进一步调试的建议,我将不胜感激。
祝好,