【问题标题】:bash script to run from multiple threads从多个线程运行的 bash 脚本
【发布时间】:2018-11-26 13:34:21
【问题描述】:

我编写了一个简单的脚本来执行对我的服务的 api 调用:

#!/bin/bash
for i in `seq 1 10`;
do
    curl -XGET 'https://myApiAddress/personSearch?name=John&country=DE' -k -H 'myLogin-token: SOME_TOKEN'
done

所以这是一个非常基本的脚本来调用这个 api 10 次,但是现在我想测试我的服务并让这个脚本在一分钟内执行 100 次调用,持续 5 小时,如果可能的话,让它从多个线程...

我知道有像 jmeter 这样的工具,但我需要快速做一些事情,而且只需要一次,有人可以帮助并告诉我如何让我的脚本做到这一点?谢谢!

【问题讨论】:

    标签: bash shell curl postman


    【解决方案1】:

    尝试使用 apache 基准测试工具。

    您需要安装apache2-utils 才能使ab 工作。

    • -t 持续时间,以秒为单位
    • -v 详细打印响应
    • -H 传递标头
    • -c 线程数
    ab -t 18000 -v -c 10 "https://myApiAddress/personSearch?name=John&country=DE" -H "myLogin-token: SOME_TOKEN"
    

    【讨论】:

    • 不知道ab有print response模式,很不错
    【解决方案2】:

    Bash 不支持线程,但您可以使用带有后台选项的多处理。另外我建议您检查 crontab。它对此类问题很有用。

    【讨论】:

      猜你喜欢
      • 2023-01-13
      • 2011-03-01
      • 1970-01-01
      • 2017-12-12
      • 2018-10-02
      • 2018-06-19
      • 1970-01-01
      • 2012-11-21
      相关资源
      最近更新 更多