【问题标题】:Http load test tool for variable URLs用于可变 URL 的 Http 负载测试工具
【发布时间】:2012-01-12 10:41:50
【问题描述】:

任何人都知道诸如“Apache Bench”之类的负载测试工具可以发送可变 URL。 (相同的服务器,但不同的查询字符串)

例如,

ab -text list.txt -n 1000 http://test.com/search?

list.txt

name=abc&age=10
name=pqr&age=20
anything=anything&age=30
......

注意:实际上apache bench中没有这样的选项-text

【问题讨论】:

    标签: apachebench


    【解决方案1】:

    试试 siege,因为它可以满足您的需求。 您可以创建使用类似 bash 的参数的 url 文件,这样您就不必重复自己。它还支持基本身份验证、POST、登录 url 等等。

    siege -f urls.txt 
    

    urls.txt:

    URL=https://www.example.com/
    $(URL)index.php?ab=1
    $(URL)site.php?different=12
    

    您可以在此处找到更多信息: http://www.joedog.org/siege-home/

    【讨论】:

    • 您的 urls.txt 示例在我的情况下会导致 Seg Fault。我必须删除 vars 并对 URL 进行硬编码,这样它才能对我有用。这实际上看起来更像是一个攻城虫。
    【解决方案2】:

    您可以将以下项目 apachebench 用于多个 url Apache Bench for Multiple URL

    支持 ApacheBench 的多 URL 请求。您可以将 URL 列表设置为 '-L 文件名' 并确认每个文件长度的响应 请求。

    【讨论】:

      【解决方案3】:

      从 Windows 中的命令行:

      for /F %q in (list.txt) DO ab -n 1000 https://test.com/search?%q
      

      我不知道 Apache Bench 也不知道它如何收集数据。我的方法可能会为 list.txt 中的每一行开始一个新的数据集合,这可能是您不想要的。您必须手动汇总不同运行的结果。

      (调试:

      for /F %q in (list.txt) DO echo ab -n 1000 https://test.com/search?%q
      

      它将在控制台上输出将要执行的语句)

      【讨论】:

      • 它对我不起作用。特定脚本(php/servlet)接收空参数。
      • 您是从命令行还是从命令文件运行它?在命令文件中,将 %q 替换为 %%q(两次)。
      • 我忘了说。如果是 https 呢?
      【解决方案4】:

      如果你准备好获取 Apache 源代码并将http://chrismiles.livejournal.com/21720.html 的补丁移植到当前版本的 Apache 的 ab.c 源代码(需要对 C 有一些了解,但不多),你应该得到相当于你的-text ab 中的参数(实际上您可以附加到您的请求中,这对于您只想更改参数子集的 POST 来说非常有用)。

      我目前正在自己​​尝试这个,所以陪审团仍然没有结果......但早期迹象表明这种方法效果很好。

      【讨论】:

      • 有没有人用过,可以分享一下经验吗?现在是旧代码...
      【解决方案5】:

      我找到了这个 SuperBenchmark 工具。它位于 Dotnet 之上,甚至可以安装在 Mac OS 或 Ubuntu 服务器上。我在后者上安装了它。

      https://github.com/aliostad/SuperBenchmarker

      【讨论】:

        【解决方案6】:

        Apache Bench for Multiple URL 不适用于长 URL。

        【讨论】:

        • 什么是“长网址”?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多