我正在尝试将 JSON 的 API post 请求发送到 Web 服务器。该任务需要以最少的开销异步进行。我目前在 bash 中使用带有无限循环的 CURL 并使用“&”使其异步,这对我的任务来说很慢。如何通过 CURL 或不使用 CURL 来增强和减少异步 API 发布任务?我可以使用其他工具来完成此任务吗?
答案1
部分答案:
特别是在使用时https
,打开连接需要相当长的时间。如果您执行许多请求,重新使用连接将使速度更快。
放入curl
后台&
只是并行打开连接,它不会重复使用现有连接。
我不知道有什么工具可以重用命令行的连接。
但是,您可以使用例如libcurl
,参见例如这个答案以及许多其他 HTTP 客户端库。
libcurl
是一个 C 库,因此您需要编写 C 程序来执行 API 调用,而不是 shell 脚本。
如果您不喜欢 C,请选择您喜欢的任何其他编程语言,如上所述。
特别是libcurl
,请查看提供的链接下的示例程序。另请阅读libcurl
文档和示例程序(谷歌)。随着简单的 libcurl 接口,诀窍是得到一个处理,然后继续使用该句柄进行所有 API 调用 - 它将重用打开的连接。
真正的并发操作会并行打开多个连接。这可能会或可能不会使其更快 - 瓶颈通常是网络,而不是处理。