# 回复中的 Onebox 过多导致 Discourse 服务器过载

**URL:** <https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090>\
**Category:** Support\
**Created:** [2021年三月13日 03:28 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090 "2021-03-13T03:28:17Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![hoangviet](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hoangviet/32/174417_2.png) [@hoangviet](https://meta.discourse.org/u/hoangviet)\
**Post date:** [2021年三月13日 03:28 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/1 "2021-03-13T03:28:17Z")

</div>

我的论坛主题是：教育。  
大量读者（学生）创建了 Onebox，  
导致我们的服务器 CPU 过载，网站出现两个错误：502 Bad Gateway 和 504 Gateway Time-out 错误，无法访问网站。  
我想找到解决方案：降低 Discourse 中 Onebox 的生成频率（降低速度）（Onebox 仍会被生成，但连续生成 Onebox 所需的时间会变长）。  
如果我们能延长 Onebox 的生成时间，那么我们的服务器 CPU 就不会过载。  
谢谢。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2021年三月13日 03:37 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/2 "2021-03-13T03:37:07Z")

</div>

最简单的方法很可能是增加服务器的内存和/或 CPU。您的服务器配置是什么？每天创建多少帖子？

---

<div class="post-metadata">

**Author:** ![hoangviet](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hoangviet/32/174417_2.png) [@hoangviet](https://meta.discourse.org/u/hoangviet)\
**Post date:** [2021年三月13日 03:47 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/3 "2021-03-13T03:47:27Z")

</div>

大量学生创建了许多 onebox，我们约有 10000 名学生。  
我也考虑过一些解决方案：增加 CPU 和内存。  
然而，在测试 CPU 时，其平均使用率在 25% 到 45% 之间；但在某些时段，我们的 Discourse 会出现 CPU 过载，导致网站无法访问。  
因此，我想寻找其他解决方案。  
Jay Pfaffman，非常感谢！！！

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2021年三月13日 04:57 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/4 "2021-03-13T04:57:14Z")

</div>

在调整内存后，您是否调整了内存参数？听起来数据库是您的瓶颈。有一些关于优化大型服务器的主题，您可以从那里入手。

您可以查看 Sidekiq 队列，看看这些任务是否应该放在优先级较低的队列中，但我认为数据库优化可能是更值得关注的方向。

---

<div class="post-metadata">

**Author:** ![hokod](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hokod/32/239410_2.png) [@hokod](https://meta.discourse.org/u/hokod)\
**Post date:** [2021年十一月10日 06:06 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/5 "2021-11-10T06:06:18Z")

</div>

我们也遇到了同样的问题，sidekiq (low) 运行速度很快，导致我们的 discourse 无法访问网站。  
有没有办法调整 sidekiq (low) 的频率？

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2021年十一月10日 08:45 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/6 "2021-11-10T08:45:02Z")

</div>

我认为您的选择是添加 CPU 和 RAM，或者限制用户可以创建的链接数量。

---

<div class="post-metadata">

**Author:** ![hokod](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hokod/32/239410_2.png) [@hokod](https://meta.discourse.org/u/hokod)\
**Post date:** [2021年十一月10日 09:00 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/8 "2021-11-10T09:00:22Z")

</div>

我的问题差不多，  
在 Sidekiq 中，如何降低 Sidekiq 的运行频率。  
下图：

 ![image](https://global.discourse-cdn.com/meta/original/3X/7/a/7a9022ef9a753f4786b3996bfd0198fa1fa95d73.jpeg)

我们想降低 Sidekiq 中 Low 的运行频率。  
因为 Sidekiq 中的 Low 运行得太快（频率很高），导致网站出错，读者无法访问网站（502、504）。  
我想指定 Sidekiq：Sidekiq (Low) 每次只允许运行多少请求/秒。  
你能帮我吗？

---

<div class="post-metadata">

**Author:** ![hokod](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hokod/32/239410_2.png) [@hokod](https://meta.discourse.org/u/hokod)\
**Post date:** [2021年十一月10日 09:02 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/9 "2021-11-10T09:02:41Z")

</div>

对我来说，CPU 和内存占用不高。  
我的 sidekiq 运行得太快了。导致网站崩溃。

---

<div class="post-metadata">

**Author:** ![IAmGav](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/iamgav/32/235598_2.png) [@IAmGav](https://meta.discourse.org/u/IAmGav)\
**Post date:** [2021年十一月10日 09:21 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/10 "2021-11-10T09:21:30Z")

</div>

据我所知，sidekiq 是不可自定义的。

根据您显示的这些数字，我建议您升级服务器，增加内存和进程。

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2021年十一月10日 09:58 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/11 "2021-11-10T09:58:50Z")

</div>

查看 [Sidekiq 产品级别功能图](https://sidekiq.org/)，有两点引人注目：

- Discourse 免费捆绑的基础 OSS 套餐缺少：

因此，我认为您需要关注硬件方面。

然而，了解一些站点是否可以升级到 Pro 以及涉及多少工作（仅仅是添加许可证密钥吗？）会很有趣。也许有人以前尝试过？

Pro 产品价格不菲，每月 99 美元。这是否意味着应该在硬件上投入更多？即使每月 50 美元也能为您带来显著的硬件升级？您现在花费多少？

如果您想了解在 Discourse 中使用 Pro 产品，Pavilion 可以帮助您，但咨询也会产生费用。

当然，还有一种选择是找人为您托管，并处理所有这些挑战。

我认为您需要大幅增加预算才能按照您想要的方式运行系统。

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)\
**Post date:** [2021年十一月14日 05:24 UTC](https://meta.discourse.org/t/too-many-oneboxes-in-replies-is-overloading-our-discourse-server/183090/12 "2021-11-14T05:24:02Z")

</div>

您能提供一些数据吗？每个回复有多少个 onebox，每个主题有多少个回复，以及每个主题总共有多少个 onebox？
