0

下面的代码片段

for($i=0;$i<60;$i++){
    $u[$i]=$_REQUEST["u".$i];
    $pic[$i] =imagecreatefromjpeg("http://graph.facebook.com/".$u[$i]."/picture");

}

在我的新服务器上执行需要超过 90 秒。在我的共享托管服务器上花费了不到 15 秒的时间。但是,在专用服务器上,它需要超过 90 秒。

我的新服务器的数据中心是亚太地区。

请就如何减少在图表上获取图像的时间提出建议。

谢谢并恭祝安康

4

2 回答 2

1

为什么不在一次调用中请求所有图片的 URL?

https://graph.facebook.com/?fields=picture&ids=[CSV LIST OF IDS]&access_token=ACCESS_TOKEN

然后,您将获得所有图像的列表,并且可以随心所欲地获取所有图像

于 2012-08-13T00:40:49.563 回答
0

在我的新服务器上执行需要超过 90 秒。

好吧,我会说,对于 60 个 HTTP 请求来说还算不错。

在我的共享托管服务器上花费了不到 15 秒的时间。但是,在专用服务器上,它需要超过 90 秒。

也许您的旧服务器的连接速度更快......?

我的新服务器的数据中心是亚太地区。

你有没有机会知道它以前是哪一个?

请就如何减少在图表上获取图像的时间提出建议。

您是否必须一次性请求所有这些图像?

也许您的应用程序的工作流程(我们对此一无所知)将允许其他方法,例如在以前的时间获取用户图像(当用户开始使用您的应用程序时)并将它们缓存在本地,这样您就不会必须一次完成 60 多个 HTTP 请求。

于 2012-08-13T09:09:47.013 回答