我有以下curl命令: curl -i -H“Content-Type:text / plain”-X POST -d @hundredencoded http:/// aaa / bbb / message
对于负载测试,我需要运行此命令100次,我该如何使用CURL?
提前致谢。
答案 0 :(得分:4)
您好试试这个脚本代码(抱歉未经测试,Lemme知道它是否无效):将其保存为run.sh。然后你可以运行./run.sh 100.它只会在同一时间执行。
#!/bin/bash
for i in $(eval echo {1..$1})
do
curl -i -H 'Content-Type: text/plain' -X POST -d @hundredencoded http:///aaa/bbb/message &
#gnome-terminal -x bash -c "curl -i -H 'Content-Type: text/plain' -X POST -d @hundredencoded http:///aaa/bbb/message ;bash"
done
答案 1 :(得分:0)
虽然问题指定使用curl执行此任务,但我强烈建议使用ab来实现此目的。
ab(Apache Benchmark)是专门针对相关案例的工具构建。它允许您多次调用特定请求并定义并发。 http://httpd.apache.org/docs/2.0/programs/ab.html
您的测试将是:
ab -p post.txt -H 'Content-Type: text/plain' -n 100 -c 1 http://aaa/bbb/message
或者更短:
ab -p post.txt -T text/plain -n 100 -c 1 http://aaa/bbb/message
文件post.txt
保存POST数据。