mholt
(Matt)
1
最近,我们的 Discourse 论坛在大多数请求上开始出现超时:https://caddy.community
问题出现前几天,我们没有进行任何更新或更改。有时加载正常,但几分钟后加载时间会延长至数分钟。(因此,如果上述链接对您加载很快,请稍等几分钟后再次尝试。您也可以使用 curl 进行测试。)
我们托管在 DigitalOcean 上。
机器资源并未用满:CPU、内存、磁盘和网络 I/O 都有充足可用。
日志中没有错误,机器上也没有运行任何未知进程。该论坛已正常运行约三年,但现在无法加载。
有人知道如何让论坛运行得更快吗?我们已重启了机器,但论坛仍然运行缓慢。
Falco
(Falco)
2
嘿 @mholt
,
我尝试在 /latest 和 /categories 之间来回切换,速度相当快。
你是否在应用的特定路由中观察到延迟?
另外,你是否启用了 MiniProfiler?
请按照以下步骤启用它:Long loading times for user summary page with slow database - #6 by Falco
启用后,当你遇到卡顿,就能准确定位问题所在。
mholt
(Matt)
3
嗯……哇,今天加载确实快多了。
(我们社区的其他人也遇到过这种情况,我知道不是只有我这样,哈哈——不过看起来是间歇性的。)
有机会我会试试,谢谢!
mholt
(Matt)
4
嗯,看来我的 ssh 连接有时也会超时。
不知道是不是 DigitalOcean 出现了网络问题(不过他们尚未发布任何公告)——我可能得向 DO 提交工单来查明原因。这可能并非 Discourse 特有的问题。
mholt
(Matt)
5
最近这个问题又开始出现了:论坛加载需要好几分钟。
到 DigitalOcean 虚拟机的 ping 延迟正常:约 80 毫秒。服务器负载也正常:
角落里的调试工具(MiniProfiler)显示的时间并未揭示任何问题:所有耗时均在约 300 毫秒以内:
(此页面加载耗时约 3 分钟。)
在连接到服务器到页面渲染完成的过程中,是否有某些环节未被 MiniProfiler 计入?
Falco
(Falco)
6
Redis 所花费的时间未被统计,这可能导致您看到的情况。您需要深入服务器检查 Redis 是否在将更改持久化到磁盘时遇到问题。
mholt
(Matt)
8
有意思,有什么建议或相关指南链接吗?这超出了我的专业范围😅
Falco
(Falco)
9
让我稍微纠正一下。Redis 的耗时不会显示在 MiniProfiler 的细分部分,而是会计入第一列的总耗时。因此,从您的截图来看,似乎并非如此。
Caddy 的日志是否记录了等待后端的时间以及每个请求的总耗时?反向代理是否存在等待的情况?
mholt
(Matt)
10
我会在日志中添加这些信息,并在下次发生时尝试查明原因。
sam
(Sam Saffron)
11
这会不会是获取静态资源所花费的时间?下次遇到这种情况,不妨查看一下 Chrome 开发者工具?
mholt
(Matt)
12
谢谢你的建议,Sam。我之前看过网络检查器,不记得有什么特别明显的线索——不过下次我会更仔细地检查。
这种情况大概每隔几天就会发生一次,一旦再出现,我会回来汇报的!