php file_get_contents provoca 100% de CPU ocupada

Una única peticion a un servidor externo. Si este servidor tiene un tiempo de respuesta largo por motivos de mucho overlad, y por ello da tiempos de respuesta muy largos. Esto provoca Que el script que hace la peticion file_get_contents() ocupe el 100% de la CPU, durante todo el tiempo de espera. Hemos reportado el bug a php y estamos a la espera de que nos contesten.

Sistema Operativo donde aparece el error:
System Linux 2.6.9-55.0.9.ELsmp #1 SMP Thu Sep 27 18:28:00 EDT 2007 x86_64
PHP Version 5.2.6

más info en: http://bugs.php.net/bug.php?id=47461

Un ejemplo del código que provoca colgar el servidor.

PHP:
  1. <?php
  2.  
  3. //ini_set('max_execution_time',500); More time, More CPU 100%
  4.        
  5. $urlExternal =
  6. "http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCu
  7. rrency=EUR&ToCurrency=USD";
  8.    
  9. $oneString = file_get_contents($urlExternal);
  10. echo $oneString;
  11.  
  12. ?>

Realmente si este fallo es asi es un problema para todas aquellas páginas que recogen datos como tags, titles y otros, pudes provocarles problemas...

Alguien mas que se haya encontrado con este problema?

saludos.

Etiquetas: ,

Un comentario para “php file_get_contents provoca 100% de CPU ocupada”

  1. Eduardo dice:

    Tengo el mismo problema al recoger datos de un sitio cuando está lento.

    Se me ocurrió como solución bajar el max_execution_time pero solo de esa funcion a por ejemplo 2 segundos... sabes si existe algo que pueda hacer eso en PHP?

    Saludos,
    Eduardo.

Deja un comentario

CAPTCHA Image Audio Version
Reload Image