这是一个很好的规格!您的网站一定特别繁忙?
您确定没有发生重新烘焙吗?
每分钟有多少张图片被发布?
缩略图的准备主要是核心代码,需要强制进行额外的图像处理。
任何性质的插件或主题组件都会出现这种情况。
这是一个很好的规格!您的网站一定特别繁忙?
您确定没有发生重新烘焙吗?
每分钟有多少张图片被发布?
缩略图的准备主要是核心代码,需要强制进行额外的图像处理。
任何性质的插件或主题组件都会出现这种情况。
我们关闭了插件大约 24 小时,然后又开启了 24 小时。
下面我粘贴了我们另一位管理员的笔记。
插件导致计划中的作业执行缓慢。
队列中的作业越多,CPU 就越难以跟上。
所以服务器会遇到大量流量,但一段时间内一切看起来都很正常,直到作业开始堆积。
最终 CPU 难以跟上,使用率会随着已积压作业的完成而上下波动。
这就是为什么我们之前看到有 3000 多个积压的作业。
在正常情况下,作业永远不会超过 5 个。但几乎总是有 0 个,因为不应该有积压的作业,它们应该立即处理。
附图显示了当前作业正在积压。现在它在 30-35 个积压作业之间徘徊。
所有这些作业都是来自 sidecar 中最新帖子的新作业。
我还无法确定原因,但这只发生在插件开启时。
CPU 资源过去一小时的图表
过去 24 小时,大致标出了插件启用的大致位置(请看峰值后的上升趋势)
看起来这个模式需要超过 24 小时才能注意到,但插件几乎一直导致整体资源使用率在 80-90% 以上。
一旦我们关闭它,我们就会注意到在接下来的 24 小时内,服务器的平均使用率将在 60-75% 之间,并且作业不会积压。
另外,当我们想要的时候,我将 app.yml 改为 16 个 unicorn 工作进程。当我们想要重建时,我认为我们应该禁用插件,并设置 16 个 unicorn 工作进程。我们将在此期间观察服务器的性能,并根据我们认为的最佳值调整工作进程的数量。
过去 7 天
红色 = 已启用
蓝色 = 已禁用
再次开启插件后,CPU 出现峰值。我对作业部分是主要问题不太确定。我注意到随着 unicorn 工作进程的增加,作业计数也会增加。我认为这个数字是不相关的。
我仍然看到插件占用资源的那个问题。
仍然不是 100% 确定,但我非常有信心插件是一个问题。
插件 + 16 个工作进程:服务器卡死
16 个工作进程 无插件 - 工作正常
插件 + 8 个工作进程 - 运行缓慢但可用
关闭插件后的图表
您好,
我是写那些笔记的另一位管理员。
我现在认为这些作业不再是问题的一部分了。
不幸的是,我对 Discourse 的内部运作不太了解,不知道可能的原因是什么。我只知道我目前看到的情况。
总而言之,当启用 8 个工作进程时,网站运行缓慢,而启用 16 个工作进程时,网站几乎瘫痪。
禁用该插件后,网站运行正常,并且有足够的工作进程时速度非常快。
这让我相信该插件在资源方面或在 IO 或异步操作中被卡住的某些方面导致网站变慢。
请检查一下您的 sidekiq 队列。您是否看到大量排队的作业,它们的名称是什么?
我相信这只是缩略图制作的积压,一旦所有图像都处理完毕,它就会稳定下来。
这是一个核心流程。
如果您不需要 sidecar 插件的附加功能,可以安全地将其删除,只使用主题组件。
您能否确认一下,在主题组件激活但 sidecar 插件未激活的情况下,问题是否仍然存在?
如果您从未安装过 sidecar 插件,那么问题一定出在核心部分。
如果您需要分析方面的帮助,可以聘请 Pavilion。
我欢迎对此问题的独立报告。
只是确认一下——当你启用任何一种主题列表缩略图主题组件时,预计高 CPU 使用率的图像缩放作业会增加
。核心会“按需”为第一个在主题列表中查看某个主题的用户生成缩略图。
正如 @merefield 所提到的,一旦所有常用主题的缩略图都已生成,情况应该会稳定下来。
增加工作进程的数量可能不是个好主意——在 CPU 资源受限的机器上尝试并行处理更多工作会使症状恶化。最好将工作进程的数量保持正常,以便作业可以排队并被处理,而不会使机器过载。
在 Sidekiq UI 中,你可能想查看“忙碌”和“排队”选项卡。“已安排”的作业是那些安排在未来特定时间的作业,因此它们极不可能导致性能问题。
许多“完全转换”主题不受支持。我怀疑 FKB Pro 有自己的覆盖设置,这与此组件发生冲突。恐怕我无法支持这种情况。
此主题组件旨在用作不试图涵盖所有基础的主题中的构建块。
如果您想要一个带有主题列表预览的右侧边栏,请尝试组合使用 Right Side Blocks。
添加了一项实验性功能:
现在运行得相当好,但仍有一个设置问题:
这可以响应宽度,因此仅当列表区域足够宽时,在“图块(砌体)”模式下才会显示。
演示地址:https://www.starzen.space/
注意:右下角的额外填充是一个已知的必要问题,这是由于砌体渲染器出于性能原因(它很快!)将内容渲染到最近的网格行。一旦 (!) 他们在 CSS 网格中实现原生砌体,我将重构它使其更美观。
注意#2:屏幕截图还包含来自 Discourse Bars 主题组件的一些控件(侧边栏已隐藏)。主题列表预览与 Discourse Bars 配合得非常好。
YouTube 的图片显示在主页上。
它也可以用于 Twitter 吗?
它绝不限于 YouTube。
它会显示缩略图。如果 Twitter 嵌入创建了缩略图,那么是的。
从此设置中移除 routes:
否则它们将显示为“Tiles”。如果你想将零 routes 显示为“Tiles”格式,请移除所有这些行,但你可能想考虑在移动设备上使用 Tiles(在这种情况下,保留那些带有 *-mobile 的行)。
现在完美了,谢谢你 ![]()
安装 sidecar 插件,使用该设置。
我猜您必须触发一个帖子重烘焙来重做主题摘要。