PHP Parallel Curl-Anfragen: Optimierung der Verarbeitungsgeschwindigkeit
Beim Umgang mit mehreren Webanfragen, die eine serverseitige Verarbeitung erfordern, ist eine Maximierung unerlässlich Effizienz. Obwohl die Verwendung von file_get_contents() diese Aufgabe erfüllen kann, kann sie aufgrund ihrer sequentiellen Natur den Prozess erheblich verlangsamen.
Ein optimierterer Ansatz ist die Verwendung paralleler Curl-Anfragen. Durch die Implementierung von Multi-Curl können Sie mehrere Anfragen gleichzeitig bearbeiten und so die mit seriellen Anfragen verbundene Wartezeit reduzieren. Betrachten Sie den folgenden Codeausschnitt:
$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);
Dieses Skript initiiert mehrere Curl-Handles und fügt sie einem Master-Curl-Multihandle hinzu. Anschließend wird die Funktion „curl_multi_exec()“ verwendet, um diese Handles gleichzeitig auszuführen. Abschließend werden die Ergebnisse abgerufen und ausgedruckt.
Durch den Einsatz paralleler Curl-Anfragen können Sie die Geschwindigkeit Ihrer serverseitigen Verarbeitung erheblich verbessern, sodass Ihre App zahlreiche Webanfragen effizient verarbeiten kann.
Das obige ist der detaillierte Inhalt vonWie können parallele Curl-Anfragen die PHP-Verarbeitungsgeschwindigkeit optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!