Как проверить причину задержки / времени ожидания HTTP-запроса? - PullRequest
2 голосов
/ 10 октября 2009

Я отправляю простой запрос GET на свой сервер, и он возвращается через ~ 1,2 секунды в среднем (с помощью вкладки «firebug NET», часть «в ожидании ответа», даже не все время ответа)

Мой пинг до сервера составляет 0,250

Используя Пассажира с рельсами 2.3.3, в журнале рельсов запрос принимает ~ 0.023

Мой сервер на GoDaddy, поэтому я проверил их домашнюю страницу с помощью firebug - время ожидания ответа для их страницы ~ 0.320

Наихудший случай должен быть около 0,4 ... так где же я потерял остальные 0,8 секунды?

Что еще я могу проверить?

Edit:

Похоже, это не связано с рельсами Запрос изображения (на который отвечает только apache, если он вообще попадает в рельсы) также занимает ~ 1.2 секунды

Ответы [ 4 ]

1 голос
/ 06 ноября 2009

GoDaddy может иметь обратный прокси-сервер между вами и вашим HTTP-сервером.

Возможно, они сразу отправляют вам заголовки ответа, а затем, возможно, отправляют вам содержимое ответа из кэша.

Итак, с точки зрения вашего HTTP-сервера ответ передается. Затем он переходит к обратному прокси-серверу GoDaddy, а затем к вашему веб-браузеру.

0 голосов
/ 10 октября 2009

Попробуйте установить для PassengerPoolIdleTime значение 0 в настройках серверов или виртуальных хостов. Возможно, ваш сервер быстро завершает работу экземпляров приложения и порождает новый экземпляр с каждым запросом, который обычно занимает довольно много времени.

Посмотрите документацию для получения дополнительной информации об этой настройке: http://modrails.com/documentation/Users%20guide%20Apache.html#PassengerPoolIdleTime

0 голосов
/ 04 ноября 2009

Не похоже, что это твоя проблема, но проблемы провайдера.

Можете ли вы сделать wget для внутреннего ip / порта для вашего приложения rails напрямую (или apache) с того же сервера? Это скажет вам, если пробаби находится в стеке приложений или дальше вверх по течению.

Если вы можете, вы можете использовать инструмент apache, который называется ab "apache benchmark".

Ключ имеет доступ по ssh к вашему компьютеру.

0 голосов
/ 10 октября 2009

Место размещения ваших файлов для GoDaddy отличается от того, где размещена их домашняя страница.

Проверяли ли вы другие страницы, размещенные на этом же сервере? Возможно, из-за соединений с базой данных или «медленных» соединений, подобных этому, страница может занять некоторое время, прежде чем она будет отправлена ​​клиенту.

...