PHP 並列 Curl リクエスト: 処理速度の最適化
サーバー側での処理が必要な複数の Web リクエストを処理する場合は、処理速度を最大化することが重要です効率。 file_get_contents() を使用するとこのタスクを実行できますが、その逐次的な性質によりプロセスが大幅に遅くなる可能性があります。
より最適化されたアプローチは、並列 Curl リクエストを利用することです。マルチカールを実装すると、複数のリクエストを同時に処理できるため、シリアルリクエストに伴う待ち時間が短縮されます。次のコード スニペットを考えてみましょう:
$nodes = array($url1, $url2, $url3); $node_count = count($nodes); $curl_arr = array(); $master = curl_multi_init(); for($i = 0; $i < $node_count; $i++) { $url =$nodes[$i]; $curl_arr[$i] = curl_init($url); curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true); curl_multi_add_handle($master, $curl_arr[$i]); } do { curl_multi_exec($master,$running); } while($running > 0); for($i = 0; $i < $node_count; $i++) { $results[] = curl_multi_getcontent($curl_arr[$i]); } print_r($results);
このスクリプトは複数の CURL ハンドルを開始し、それらをマスター CURL マルチハンドルに追加します。次に、curl_multi_exec() 関数を使用して、これらのハンドルを同時に実行します。最後に、結果が取得されて出力されます。
並列カール リクエストを採用することで、サーバー側の処理速度が大幅に向上し、アプリが多数の Web リクエストを効率的に処理できるようになります。
以上が並列 Curl リクエストはどのようにして PHP の処理速度を最適化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。