围攻没有在 URL 列表中循环

Siege not cycling through URL list

我正在使用 Siege 作为 wordpress 网站上 Varnish 的缓存预热器。我已经设置了一个简单的脚本来从动态站点地图中获取最新的 URL 列表,将它们输出到一个文件,使用 Varnishadm 清除缓存,然后 运行 围攻 url 列表重新填充缓存。

问题出在等式的围攻部分。如果我运行下面的命令:

/usr/bin/siege -c1000 -d3 -r1 -v -i -f url-list-example.txt

它工作正常,但这显然是随机访问 URL 列表而不是一个接一个地访问。从我读过的内容中删除 -i 标志,以便命令为:

/usr/bin/siege -c1000 -d3 -r1 -v -f url-list-dekanta.txt

应该意味着 Siege 运行 通过列表一次然后停止,但它不会这样做。相反,它只是多次击中第一个 URL 并停止。

有人可以解释一下我用这个命令做错了什么吗?我已经通读了文档,但似乎没有任何东西能按照我想要的方式工作。非常感谢。

siege 的手册页明确提到这一点 --reps=once;和来源 implements that exception。所以似乎使用 --reps=once 而不是 -r1 可能会为你解决这个问题

已修复。似乎我把事情复杂化了,但感谢 Sjon 帮助我重新审视我之前尝试过但认为失败的东西。

要在 URL 列表中循环,Siege 不需要 -d 或 -c 标志,因为它们被指定用于模仿随机用户行为(-c 用于模拟多少用户 -d 用于等待命中前的时间)。删除这些标志,只需 运行 简单命令:

/usr/bin/siege --reps=once -v -f url-list-example.txt

..导致 Siege 按预期在列表中循环,默认为 15 个并发用户。如果你想增加这个并发量,你可以添加 -c100 或其他任何东西。