淹没某个 Curl 请求的最快方法(不是 DDOS!)

淹没某个 Curl 请求的最快方法(不是 DDOS!)

我正在尝试向服务器发送一堆 POST 请求。我需要在一秒钟内向服务器发送最大数量的请求,我在 Linux 中使用过 CURL 和一些工具,比如 axios 和 nodejs,但它们不是我想要的。响应时间很高,使用 IP 地址来规避 NS-LOOKUP 时间,但仍然存在每个数据包重复的 TCP 连接时间,这是一种开销。

我面临的另一个问题是,在循环中使用 CURL 时,我发现它的迭代速度不是那么快,似乎无法并行执行,需要一个完成后才能进行下一个。所以我在 bash 脚本文件中使用了 & 和 wait 语法,但效率仍然不高,而且我知道如何使用 nohup

我如何保持连接处于活动状态以解决 TCP 连接开销问题?或者是否有任何可用于此目的的工具?我如何一次发送 1000 个或更多请求...我不关心响应,我只是需要在一定时间内比其他任何人都更快地将我的请求发送到服务器。

答案1

您可以使用阿帕奇公司对服务器进行负载测试。使用方法如下:

ab -k -c 350 -n 20000 -p content.json -T application/json example.com/

例如,此命令将启动 350 个同时连接,直到满足 2 万个请求。

答案2

基本上你需要 HTTP 基准/负载测试。例如,查看此列表:https://gist.github.com/denji/8333630

相关内容