如何诊断慢速php图像代理?

时间:2013-03-06 20:06:45

标签: php proxy nginx

我的网站上有一个图像代理,可以通过我的域中的https提供图像,以便完全信任SSL连接。

以此链接为例:

https://www.mylesgray.com/lastfm/85982517.png

这是来自last.fm的CDN上的专辑封面,该CDN位于HTTP上,通过我域上的HTTPS。

然而长期缓慢,我无法弄清楚原因,它访问的页面是:

http://userserve-ak.last.fm/serve/64s/85982517.png

正如你所看到的那样,速度差异很大,虽然我无法理解为什么我的脚本速度太慢,但它的操作非常简单:

$args = $_GET['q'];
list($img) = explode("/", $args);

header('Content-Type: image/png');
echo file_get_contents('http://userserve-ak.last.fm/serve/64s/' . $img);

它只是抓住图像并重新提供它。

有没有办法在整个堆栈的哪个阶段进行调试(从Web服务器到php脚本),这会导致这么慢?

比较这两个页面时,您可以看到效果:

https://mylesgray.com

https://mylesgray.com/blog

第二个使用代理服务图像。

1 个答案:

答案 0 :(得分:1)

由于您的网络服务器无法访问CDN,因此它们会限制您,或者您的网络服务器上存在DNS解析问题。

因此,您的网络服务器必须等待某个DNS请求的超时,才能向另一台服务器发出另一个DNS请求以获得答案......这需要很长时间。

祝你的项目好运。