2010-10-10 57 views
20

Tôi hiện đang sử dụng Curl cho PHP rất nhiều. Phải mất rất nhiều thời gian để có được kết quả khoảng 100 trang mỗi lần. Đối với mọi yêu cầu, tôi đang sử dụng mã như thế nàyYêu cầu nhiều yêu cầu PHP

$ch = curl_init(); 

// get source 

ch_close($ch); 

Tùy chọn của tôi để tăng tốc mọi thứ là gì?

Tôi nên sử dụng multi_init v.v.> như thế nào?

+0

Trả lời chuỗi này ở đây [Nhiều yêu cầu API] (https://stackoverflow.com/questions/34538046/multiple- api-calls-in-a-class/47068115 # 47068115) – Delickate

Trả lời

29
  • Sử dụng lại cùng trình xử lý cURL ($ ch) mà không cần chạy curl_close. Điều này sẽ tăng tốc độ nó lên một chút.
  • Sử dụng curl_multi_init để chạy các quy trình song song. Điều này có thể có một hiệu ứng to lớn.
+0

Vì vậy, trong ví dụ của tôi? – Simon

+0

Bây giờ tôi sử dụng curl_multi_init cho khoảng 10 yêu cầu cùng một lúc. Mất khoảng 5 cho 10 yêu cầu = D – Simon

+0

u có thể gửi các ví dụ về cách đầu tiên ur đó là tái sử dụng cùng một xử lý curl? –

6

dùng curl_multi - nó tốt hơn nhiều. Lưu các cái bắt tay - chúng không cần thiết mỗi lần!

0

hoặc chụp pcntl_fork, fork một số chủ đề mới để thực thi curl_exec. Nhưng nó không tốt bằng curl_multi.