我正在嘗試盡快請求多個 API。所以我嘗試了curl_multi
。但我得到的結果比 foreach 和 file_get_contents 慢。我做錯了什麼?
使用file_get_contents
:
使用curl_multi
:
0); for($i = 1; $i < $urls_count; $i++) { $results = curl_multi_getcontent ( $curl_arr[$i] ); } echo microtime(true) - $start; ?>
這個問題是
curl_multi
有很大的開銷。我假設它必須為每個請求建立一個 shell 進程,然後在該進程中執行curl,最後將內容傳回請求該操作的腳本。file_get_contents
已最佳化PHP 語言固有的:對於何時使用函式庫和語言中的本機功能,這是一個很好的學習經驗。此外,庫還可以選擇多執行緒並利用多核心處理器,這可能會加速請求。需要自己去找測試的東西。