我的网页使用Google图表生成五个图表.如果图形尚未缓存,我有以下代码行来检索图像.
$image = file_get_contents(“http://chart.apis.google.com/chart?”.$query);
当代码在循环中执行时,每个图像需要10秒钟.但是,如果我更改代码使用Google的一个IP地址而不是网址:
$image = file_get_contents(“http://74.125.93.100/chart?”.$query);
检索图像只需不到一秒钟.所以我最初的想法是DNS没有解析URL,延迟是通过指定的DNS服务器循环?所以我尝试从服务器ping map.apis.google.com,它立即返回了合理的回复.
所以我的问题是:是否有任何我可能忽略的PHP(或Apache2)配置设置可能导致此延迟,或者这听起来像服务器配置问题?
您的DNS解析速度很慢(您的服务器使用的DNS可能是一个问题,然后大多数其他域可能很慢)或您的服务器使用DNS缓存时出现问题.
在任何情况下,如果您没有特定的理由来操纵从谷歌图表收到的图像,为什么不将它打印为img标签?如果需要,您可以使用css覆盖文本或透明png-s.