Requêtes PHP Parallel Curl : optimisation de la vitesse de traitement
Lorsque vous traitez plusieurs requêtes Web nécessitant un traitement côté serveur, il est essentiel de maximiser efficacité. Bien que l'utilisation de file_get_contents() puisse remplir cette tâche, elle peut considérablement ralentir le processus en raison de sa nature séquentielle.
Une approche plus optimisée consiste à utiliser des requêtes curl parallèles. En implémentant le multi-curl, vous pouvez gérer simultanément plusieurs requêtes, réduisant ainsi le temps d'attente associé aux requêtes en série. Considérez l'extrait de code suivant :
$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);
Ce script initie plusieurs handles curl et les ajoute à un multi-handle curl principal. La fonction curl_multi_exec() est ensuite utilisée pour exécuter ces handles simultanément. Enfin, les résultats sont récupérés et imprimés.
En utilisant des requêtes curl parallèles, vous pouvez améliorer considérablement la vitesse de traitement côté serveur, permettant à votre application de gérer efficacement de nombreuses requêtes Web.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!