2010-10-10 24 views
20

Actualmente estoy usando Curl para PHP mucho. Lleva mucho tiempo obtener resultados de aproximadamente 100 páginas cada vez. Para cada solicitud estoy usando código como estePHP Multiple Curl Requests

$ch = curl_init(); 

// get source 

ch_close($ch); 

¿Cuáles son mis opciones para acelerar las cosas?

¿Cómo debo usar el multi_init, etc.>?

+0

respuesta de este hilo es aquí [Múltiples solicitudes de API] (https://stackoverflow.com/questions/34538046/multiple- api-calls-in-a-class/47068115 # 47068115) – Delickate

Respuesta

29
  • Reutiliza el mismo controlador cURL ($ ch) sin ejecutar curl_close. Esto lo acelerará un poco.
  • Utilice curl_multi_init para ejecutar los procesos en paralelo. Esto puede tener un efecto tremendo.
+0

¿Entonces en mi ejemplo? – Simon

+0

Ahora uso curl_multi_init para aproximadamente 10 solicitudes a la vez. Toma alrededor de 5 por 10 solicitudes = D – Simon

+0

¿Puede enviar ejemplos sobre su primera forma de reutilizar el mismo manejador curl? –

6

tomar curl_multi - es mucho mejor. Guarde los apretones de manos, ¡no son necesarios todo el tiempo!

0

o tome pcntl_fork, fork algunos hilos nuevos para ejecutar curl_exec. Pero no es tan bueno como curl_multi.