Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2011, 02:52
random32
 
Fecha de Ingreso: febrero-2011
Mensajes: 1
Antigüedad: 13 años, 2 meses
Puntos: 0
Lentitud con curl_multi_exec

Muy buenas,

Tengo un scrip que hace lo siguiente (calcado de php.net):

Primero carga unas URLs de una base de datos, todo eso lo hace correctamente sin problema. Luego ejecuta las URLs con esto:

Código PHP:
$active null;
    
    do{
        
$mrc curl_multi_exec($mh$active);
    }while(
$mrc == CURLM_CALL_MULTI_PERFORM);
    
    while(
$active && $mrc == CURLM_OK){
        if(
curl_multi_select($mh) != -1) {
            do{
                
$mrc curl_multi_exec($mh$active);
            }while (
$mrc == CURLM_CALL_MULTI_PERFORM);
        }
    }
    foreach(
$ch as $ch1){
        
curl_multi_remove_handle($mh$ch1);  
    }
    
curl_multi_close($mh); 
El problema es que cuando lo ejecuto en mi PC dicha página se carga en unos 20 segundos, y cuando la ejecuto en servidores, tarda varios minutos (incluso en servidores dedicados).

Hice una prueba, y metí "checkpoints" que me indicaban los tiempos de ejecución de cada parte del codigo, y basicamente, la diferencia más grande era durante la ejecución de esta parte:

Código PHP:
    do{
        
$mrc curl_multi_exec($mh$active);
    }while(
$mrc == CURLM_CALL_MULTI_PERFORM); 
Esa parte, en mi PC tarda milisegundos, y en los servidores un minuto aprox.
¿Quizás hay algun parametro del php.ini distinto?
Ya no se que probar...

Muchas gracias por vuestro tiempo!