JSONのAPI公開リクエストをWebサーバーに送信しようとしています。ジョブは最小限のオーバーヘッドで非同期的に発生する必要があります。現在、bashで無限ループのあるCURLを使用しており、「&」を使用して非同期化していますが、これは作業が遅いです。 CURL を使用または使用せずに非同期 API 公開タスクを改善および削減する方法は?これを行うために使用できる他のツールはありますか?
答え1
部分的な答え:
特に使用中はhttps
接続を開くのにかなり時間がかかります。多くの要求を行う場合、接続を再利用すると速度が速くなります。
curl
バックグラウンドに配置すると、&
接続は並列に開かれ、既存の接続は再利用されません。
コマンドラインで接続を再利用できるツールはありません。
libcurl
ただし、たとえば使用できます。この回答そして他の多くのHTTPクライアントライブラリ。
libcurl
はCライブラリなので、API呼び出しを実行するにはシェルスクリプトではなくCプログラムを作成する必要があります。
Cが気に入らない場合は、上記のように他のプログラミング言語を選択してください。
特にlibcurl
、提供されたリンクの下のサンプルプログラムを見てください。また、libcurl
ドキュメントとサンプルプログラム(Google)をお読みください。とともにシンプルなlibcurlインタフェース、秘密は扱うその後、すべてのAPI呼び出しに対応するハンドルを引き続き使用します。開いている接続を再利用します。
真の同時操作は複数の接続を並列に開きます。これにより、速度が速くなったり、そうでない場合があります。ボトルネックは通常、処理ではなくネットワークで発生します。