【问题标题】:how to replay varnish ban如何重播清漆禁令
【发布时间】:2021-03-31 00:24:36
【问题描述】:

我的 CMS (Magento 2) 在进行一些 CMS 对象更新时会发送一些 BAN 请求到清漆。 有没有办法捕获被禁止使用清漆的 URL,以便我可以在客户点击这些 URL (MISS) 之前重新查询(热)?

这将是理想的。我可能会更新我的 CMS 代码以检测何时发送 BAN、读取标签并尝试检测哪些 URL 受到影响。首先它不可能那么容易,其次它可能是很多 URL,也许其中一些不是那么流行并且还没有被缓存。 所以理想情况下,为了加速升温,我只会关注那些已经缓存的 BAN url。 只有清漆(可靠地)知道。如何捕捉这个? 我尝试了 ban.list 命令,但只获取标签。 我听说过 varnishreplay,但它已经退役,不确定它到底做了什么。

有没有办法根据标签从清漆中查询缓存的 URL,以便我得到这些 URL?

【问题讨论】:

    标签: magento2 varnish


    【解决方案1】:

    您可以使用varnishlog 在 URL 和标签存储在缓存中时捕获它们。

    可以使用以下日志记录命令:

    varnishlog -g request -b -i berequrl -I berespheader:X-Magento-Tags
    

    这只会显示存储在循环内存缓冲区中的日志。这意味着如果您不持续监控它们,您可能会丢失一些数据。

    如果你已经通过软件包安装了 Varnish,那么 /lib/systemd/system/varnishlog-errors.service 中应该已经有一个 varnishlog 的 systemd 服务文件。

    您可以复制该文件并将其转换为记录缓存条目的服务。请务必修改服务文件中varnishlog命令的参数。

    还请注意,这些文件可能会根据您的流量模式和点击率快速增长。

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 1970-01-01
      • 2022-11-28
      • 2017-05-19
      • 2013-03-13
      • 2014-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多