我收到成员们报告的这个警告消息。虽然出现频率不高,但确实引起了注意。我可以认为这里无需采取任何措施,问题并不像看起来那么严重吗?“极端负载”听起来像是一个大问题。但它几乎会立即消失,搜索功能也会恢复。
非常感谢您能提供任何故障排查步骤的指导。谢谢!![]()
站点负载过高,搜索功能已禁用,请稍后重试
我收到成员们报告的这个警告消息。虽然出现频率不高,但确实引起了注意。我可以认为这里无需采取任何措施,问题并不像看起来那么严重吗?“极端负载”听起来像是一个大问题。但它几乎会立即消失,搜索功能也会恢复。
非常感谢您能提供任何故障排查步骤的指导。谢谢!![]()
站点负载过高,搜索功能已禁用,请稍后重试
我不太确定这是否需要排查问题。但也许可以换种方式处理?
https://review.discourse.org/t/feature-when-under-extreme-load-disable-search/4538/3
你应该感到担忧,我建议你查看管理仪表板中的网络爬虫报告。
当你的网络请求速度超过服务器处理能力时,将触发此机制。
例如,如果你有 4 个 unicorn 进程,且平均需要 200 毫秒才能完整处理一个请求,那么你的处理能力为每秒 20 个请求。
如果短时间内请求量达到每秒 40 个,多余的请求将进入队列等待,此时会显示该消息。此外,不能盲目地增加更多 unicorn 进程,因为完整响应一个网络请求涉及许多需要仔细评估的组件。
Discourse 最近增加了许多优雅降级功能,以应对扩展需求,并处理互联网上最大规模 Discourse 实例所面临的极高流量。
在站点设置中将恶意的爬虫 user-agent 加入黑名单。如今互联网上有很多非常糟糕的爬虫。
嗯,爬虫在24小时内只产生1800次页面浏览量,按理说不应该给您的服务器带来那么大的额外负载。不过,您可以考虑打开访问日志,在出现这种情况时实时观察请求的进入情况,这或许能帮您定位真正的问题。这可能是有人在尝试攻击您的系统,或者通过大量请求对您的API进行压力测试。
我刚刚收到另一条类似通知的报告。我们正在举办一场 AMA 活动,论坛的浏览和发帖人数比平时稍多,但我并不认为这是极端负载。会不会是某个插件(例如 https://meta.discourse.org/t/whos-online-plugin-discourse-whos-online/52345)导致了额外的负载?
谢谢!我现在就去调查。
有没有办法在管理员设置中禁用这些功能,让访问者在网站变慢时直接等待?我觉得我们的网站目前还远未达到繁忙的程度。
如果性能下降到导致超时的程度,用户不会觉得慢,只会觉得系统坏了。
忽略这些警告绝对不是个好主意!
我最近频繁收到高负载通知。
我有一个体育论坛,通常是在同一时间有多人评论关于某场特定比赛的帖子时出现这种情况。请问有什么指南或帮助,可以让我检查日志或服务器,看看系统是否运行正常吗?这个问题直到最近几周才出现。
你觉得我们在登录用户发帖性能方面是否出现了倒退?@sam
我确认在 meta 上看到了一个 N+1 查询问题,需要尽快修复。
我会记录一些事项来解决这个问题。不过,一旦站点过载,管理员可以调整以下两项设置:
为实例分配更多资源(例如为 PostgreSQL 增加内存,或增加 Unicorn 工作进程数量)。
根据以下配置调整匿名访问阈值:
DISCOURSE_FORCE_ANONYMOUS_MIN_QUEUE_SECONDS 和 DISCOURSE_FORCE_ANONYMOUS_MIN_PER_10_SECONDS
我已在 discourse-voting 插件中修复了一个 N+1 查询问题:
再看看是否还有其他需要处理的地方。
在这里又发现了一个 N+2 查询:
再看看是否还会出现其他问题。
问:什么是“N+1”?虽然我是一名 Java 开发人员,但我认为我以前从未遇到过这个术语。
这是一篇(与 Java 相关)解释该问题的文章: