Varnish 6 bans_persisted_bytes 膨胀,但内存使用情况良好

Varnish 6 bans_persisted_bytes 膨胀,但内存使用情况良好

在我负责的 Varnish 6 服务器中,短时间内出现了大量禁令。这是由于我无法修改的应用程序造成的。这导致 RAM 使用量迅速膨胀,失控,但我可以通过将其设置ban_cutoff为 100 来解决这个问题。这似乎很有效。RAM 使用量现在得到了很好的控制。

但是,bans_persisted_bytes每次爆发时内存仍然会快速增长,似乎根本没有下降的迹象。在我写这篇文章时,内存大约为 29GiB,但主机(Debian Bullseye 机器)的总内存使用量约为 1.6 GiB。

我应该担心 的大小bans_persisted_bytes吗?毕竟,它似乎没有使用 RAM。但我不得不怀疑,如果不是 RAM 使用率,这个值意味着什么。

我希望有人能解释一下这个问题。TIA!

答案1

虽然我很高兴听到禁令截止点(我撰写的)按照预期发挥了作用,但我不认为您自己给出的答案是正确的。

bans_persisted_bytes 以字节为单位显示禁止列表的仪表,请参阅清漆柜台(7).bans_persisted_fragmentation是完全和重复禁令所“浪费”的字节数直到它们可以被移除

所以除非我们有 bug,bans_persisted_bytes 您的禁令名单的实际大小,如果您基本上需要截止来控制它,那么它可以是巨大的。

答案2

我的以下答案不正确。请参考已接受的答案。

为了回答我自己的问题,我仔细阅读了 Varnish 6.1 的源代码。Varnish 7.2 似乎也一样。有两个地方的值bans_persisted_bytes发生了变化,并且在这两种情况下都会添加一个保证为零或更大的值。

这意味着无论禁令名单有多大,该值bans_persisted_bytes都不会减少,因此应被视为累积值。

鉴于设置截止值可以成功抑制内存占用,我认为我可以有把握地得出结论,该值的增长bans_persisted_bytes实际上无需担心。

相关内容