Arj*_*jan 5 reverse-proxy varnish
我们想知道是否有人在Varnish有大量禁令的经验.我们考虑一种禁令策略,每晚可能导致几百次(智能)禁令(在X百万个缓存对象上).
虽然我知道这很大程度上依赖于环境变量,但我们想知道这是否会对性能产生重大影响.
禁令非常消耗 CPU 资源,因此应注意不要过度使用它们。如果这样做,CPU 使用率将会上升,并且您会注意到每秒都会执行大量的正则表达式匹配。
一般来说,一个禁令将在输入时与内存中的每个对象相匹配,因此每个禁令有一百万个对象将导致一百万个禁令评估。这听起来可能很多,但现代服务器速度很快,今天现代服务器每秒能够执行数千万个正则表达式匹配。我用了四年的笔记本电脑在单核上运行第二次时会匹配 1500 万个正则表达式,只是为了让您了解其规模。
此外,Varnish 的另一个功能也发挥了作用。禁令潜伏者。禁令潜伏者是一个线程,它遍历缓存并评估试图在请求之前杀死对象的禁令,从而减少禁令列表的大小。如果您的禁令不使用 req 对象,它们就会成为潜伏者评估的候选者。如果您打算使用一些禁令,则应注意以对潜伏者友好的方式编写禁令。所谓的“智能禁令”,您似乎很熟悉。
总而言之,我认为你的设置听起来很合理。发布数百个智能禁令以及缓存中的数百万个对象可能会很好地工作。当部署禁令时,当然会有一点 CPU 负载,并且 TTFB 会有所增加,但我认为你会没事的。您可能想尝试一下控制禁令潜伏者如何工作的参数,但首先尝试默认值,它们非常理智。
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |