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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php