2013-03-06 1 views
2

У меня есть прокси-сервер изображений на моем сайте, который служит изображениям на https из моего домена, чтобы обеспечить полное доверие к SSL-соединению.Как диагностировать медленный прокси-сервер php?

Возьмем для примера ссылка:

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

Это служит обложку альбома из CDN last.fm, который находится на 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); 

Все это делает захватить изображение и повторно служить ей.

Есть ли способы отладки на какой стадии во всем стеке (от веб-сервера до php-скриптов), что вызывает у вас такое замедление?

Вы можете увидеть эффект это имеет, если сравнить эти две страницы:

https://mylesgray.com

https://mylesgray.com/blog

Второй использованием прокси для обслуживания изображений.

+0

Возникновение возможного дросселирования на сайте CDN (много запросов от 1 IP), почему вы хотите использовать PHP для проксирования? 'nginx' имеет прокси-модуль? – Wrikken

+0

Я бы начал с регистрации 'microtime()' до/после 'file_get_contents()'. Я подозреваю, что ты увидишь, что они дросселируют тебя. – mkaatman

+0

Кажется, это то, что есть - «ничего не делал в 10.225450992584 секундах» между началом и концом запроса на получение ... –

ответ

1

Поскольку ваш веб-сервер как проблема доступа к CDN, либо они дросселируют вас, либо, может быть, у вас проблемы с разрешением DNS на вашем веб-сервере.

Таким образом, ваш веб-сервер должен дождаться таймаута некоторого DNS-запроса, чтобы другой запрос DNS на другой сервер получил ответ ... который занимает много времени.

Удачи вам в вашем проекте.

+0

Была ли проблема с DNS-сервером cheers dude! –

Смежные вопросы