|
Posted by Philip Hallstrom on 11/14/74 11:22
> The following script:
>
> <?php
> $url_array = array( 'http://www.imakenews.com/progresspsdn/e_rss.aspx',
> 'http://rssnewsapps.ziffdavis.com/eweekdeveloper.xml',
> 'http://itpapers.zdnet.com/xml/RSS-239.xml',
> 'http://rssnewsapps.ziffdavis.com/eweeklinux.xml' );
> foreach( $url_array as $url ) {
> $rdf = parse_url($url);
>
> $timestart = microtime();
> $h = gethostbyname($rdf['host']);
> $timeend = microtime();
> $diff = number_format(((substr($timeend,0,9)) + (substr($timeend,-10)) -
> (substr($timestart,0,9)) - (substr($timestart,-10))),4);
This just looks wrong to me... at the very least shouldn't it be:
(x + x) - (x + x)
You've currently got the last + as a -.
Also, why not split the result of microtime on a space in case $usec is
more than 9 digits....?
>
> echo "gethostbyname(".$rdf['host'].") took $diff s and resolved to
> $h<br>\n";
> }
> ?>
>
>
> takes less than 1 second on CLI:
>
> # php gethostbyname.php
> Content-type: text/html
> X-Powered-By: PHP/4.3.2
>
> gethostbyname(www.imakenews.com) took 0.0010 s and resolved to
> 208.254.39.65<br>
> gethostbyname(rssnewsapps.ziffdavis.com) took 0.0005 s and resolved to
> 63.87.252.162<br>
> gethostbyname(itpapers.zdnet.com) took 0.1922 s and resolved to
> 216.239.113.159<br>
> gethostbyname(rssnewsapps.ziffdavis.com) took 0.0005 s and resolved to
> 63.87.252.162<br>
>
>
>
> but takes 20 seconds under Apache 2.0.46:
>
> gethostbyname(www.imakenews.com) took 5.0071 s and resolved to 208.254.39.65
> gethostbyname(rssnewsapps.ziffdavis.com) took 5.0099 s and resolved to
> 63.87.252.162
> gethostbyname(itpapers.zdnet.com) took 5.0097 s and resolved to
> 216.239.113.159
> gethostbyname(rssnewsapps.ziffdavis.com) took 5.0099 s and resolved to
> 63.87.252.162
>
>
>
> The DNS server timeout was set to 5 seconds, but we changed it to 10, and it
> had no effect on either. My efforts to Google this has not lead me in very
> helpful directions thus far, since gethostbyname() is not actually failing -
> it just takes 5 seconds to return.
>
> Even just a hint of where I might start looking will be much appreciated.
>
>
>
> Thanks,
> kgt
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
Navigation:
[Reply to this message]
|