わかりました、これは本当に奇妙です。ローカルホストにリクエストを送信すると (約 1 ~ 2 ミリ秒かかります)、curl にさらに時間がかかります。タイムアウト(ConnectionTimeout/normaltimeoutの最低値)に依存しているようです。
すべてのリクエストが成功する
- Timeout_Ms = 5 の場合、curl が復帰するまでの時間は約 1 Ms です。
- Timeout_Ms = 50 の場合、curl が復帰するまでの時間は約 4 Ms です。
- Timeout_Ms = 500 の場合、curl が復帰するまでの時間は約 250 Ms です。
- Timeout_Ms = 1000 の場合、curl が復帰するまでの時間は約 500 Ms です。
- Timeout_Ms = 1500 の場合、curl が復帰するまでの時間は約 750 Ms です。
- Timeout_Ms > 2000 の場合、curl が復帰するまでの時間は約 1000 Ms です。
そのため、タイムアウトを高く設定すると、リクエストに常に 1 秒かかります。curl_multi を使用すると、時間も 1 秒追加されますが、リクエストの数は関係ありません。
2 つのリクエストがあります。
- 5秒かかります -> 6秒後に終了
- 2 番目は 10 秒かかります -> 11 秒後に終了します