Permintaan HTTP dalam PHP: Meningkatkan Kecekapan dengan Paralelisme
Dalam situasi di mana prestasi adalah kritikal, mengoptimumkan pengendalian permintaan HTTP menjadi penting. Kaedah lalai PHP, file_get_contents($url), memproses permintaan secara berurutan, yang membawa kepada kelewatan dalam senario yang melibatkan berbilang permintaan.
Satu penyelesaian untuk mengatasi had ini ialah pemprosesan selari, di mana berbilang permintaan dilaksanakan serentak. PHP tidak menyediakan fungsi ini secara asli, tetapi perpustakaan seperti cURL menawarkan mekanisme untuk melaksanakan penyejajaran.
Multi-cURL untuk Permintaan Selari:
Multi-cURL membenarkan pelaksanaan selari permintaan HTTP, meningkatkan kecekapan dengan ketara. Berikut ialah skrip contoh yang memanfaatkan multi-cURL:
<?php // Define an array of URLs $nodes = array( $url1, $url2, $url3 ); // Initialize cURL handles $curl_arr = array(); $master = curl_multi_init(); $node_count = count($nodes); 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]); } // Execute the requests in parallel do { curl_multi_exec($master, $running); } while ($running > 0); // Retrieve and store the results $results = array(); for ($i = 0; $i < $node_count; $i++) { $results[] = curl_multi_getcontent($curl_arr[$i]); } // Display or process the results print_r($results); ?>
Dengan menggunakan multi-cURL, skrip ini menghantar permintaan ke URL yang ditentukan secara serentak. Hasilnya kemudian disimpan dalam tatasusunan $results untuk pemprosesan atau paparan selanjutnya.
Pendekatan ini dengan ketara mengurangkan masa yang diperlukan untuk memproses berbilang permintaan, menjadikannya penyelesaian yang berkesan untuk senario intensif prestasi di mana pelaksanaan selari adalah penting.
Atas ialah kandungan terperinci Bagaimanakah Permintaan HTTP Selari Boleh Meningkatkan Kecekapan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!