我的论坛主题是:教育。
大量读者(学生)创建了 Onebox,
导致我们的服务器 CPU 过载,网站出现两个错误:502 Bad Gateway 和 504 Gateway Time-out 错误,无法访问网站。
我想找到解决方案:降低 Discourse 中 Onebox 的生成频率(降低速度)(Onebox 仍会被生成,但连续生成 Onebox 所需的时间会变长)。
如果我们能延长 Onebox 的生成时间,那么我们的服务器 CPU 就不会过载。
谢谢。
最简单的方法很可能是增加服务器的内存和/或 CPU。您的服务器配置是什么?每天创建多少帖子?
大量学生创建了许多 onebox,我们约有 10000 名学生。
我也考虑过一些解决方案:增加 CPU 和内存。
然而,在测试 CPU 时,其平均使用率在 25% 到 45% 之间;但在某些时段,我们的 Discourse 会出现 CPU 过载,导致网站无法访问。
因此,我想寻找其他解决方案。
Jay Pfaffman,非常感谢!!!
在调整内存后,您是否调整了内存参数?听起来数据库是您的瓶颈。有一些关于优化大型服务器的主题,您可以从那里入手。
您可以查看 Sidekiq 队列,看看这些任务是否应该放在优先级较低的队列中,但我认为数据库优化可能是更值得关注的方向。
我们也遇到了同样的问题,sidekiq (low) 运行速度很快,导致我们的 discourse 无法访问网站。
有没有办法调整 sidekiq (low) 的频率?
我认为您的选择是添加 CPU 和 RAM,或者限制用户可以创建的链接数量。
我的问题差不多,
在 Sidekiq 中,如何降低 Sidekiq 的运行频率。
下图:
我们想降低 Sidekiq 中 Low 的运行频率。
因为 Sidekiq 中的 Low 运行得太快(频率很高),导致网站出错,读者无法访问网站(502、504)。
我想指定 Sidekiq:Sidekiq (Low) 每次只允许运行多少请求/秒。
你能帮我吗?
对我来说,CPU 和内存占用不高。
我的 sidekiq 运行得太快了。导致网站崩溃。
据我所知,sidekiq 是不可自定义的。
根据您显示的这些数字,我建议您升级服务器,增加内存和进程。
查看 Sidekiq 产品级别功能图,有两点引人注目:
-
Discourse 免费捆绑的基础 OSS 套餐缺少:
- 速率限制(我认为这就是您想要的?)
- 批处理(您可能会使用它在非高峰时段处理那些可以推迟的工作)
因此,我认为您需要关注硬件方面。
然而,了解一些站点是否可以升级到 Pro 以及涉及多少工作(仅仅是添加许可证密钥吗?)会很有趣。也许有人以前尝试过?
Pro 产品价格不菲,每月 99 美元。这是否意味着应该在硬件上投入更多?即使每月 50 美元也能为您带来显著的硬件升级?您现在花费多少?
如果您想了解在 Discourse 中使用 Pro 产品,Pavilion 可以帮助您,但咨询也会产生费用。
当然,还有一种选择是找人为您托管,并处理所有这些挑战。
我认为您需要大幅增加预算才能按照您想要的方式运行系统。
您能提供一些数据吗?每个回复有多少个 onebox,每个主题有多少个回复,以及每个主题总共有多少个 onebox?
