我的网页使用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 ping.apis.google.com,并立即返回合理的响应。
所以我的问题是:是否有任何PHP(或Apache2)配置设置,我可能会忽略,可能会导致此延迟,或这听起来像一个服务器配置问题?
如果使用另一种方法检索图像(如cURL)会怎么样? – Matt 2009-04-09 17:14:43
哪个版本的PHP?任何机会,你可以升级到最新,看看是否可以解决问题? – 2009-04-09 19:41:10
我会做一些测试,看看DNS是否真的是问题。您可以将您的API调用包装在一个定时块中。 – 2009-04-10 00:40:58