Время до первого байта: почему оно так высоко?
Недавно я сменил хост одного из своих сайтов и заметил, что страницы загружаются медленно. Сами элементы страницы быстро загружаются (страницы легкие, CSS и JS минимизированы, GZIP включен, JPEG сжаты...), но время подключения к сайту кажется очень большим.
Таким образом, я провел тест для анализа моего сайта. Оказывается, "время до первого байта" чрезвычайно велико, и я предполагаю, что это то, что я засвидетельствовал (серый спиннер в Google Chrome вращается слишком сильно по сравнению с другими сайтами).
Тест доступен здесь: http://cl.ly/image/213Z3I1o0p37
Я также был свидетелем этого явления на других сайтах на тех же серверах. Это не мое интернет-соединение, потому что это произошло в разных местах, с высокоскоростными соединениями.
Итак, мой вопрос: что может вызвать такое высокое "время первого байта"? Должен ли я заглянуть в конфигурацию Apache или PHP..?
Может ли тот факт, что DNS-серверы и веб-сайты размещаются двумя разными компаниями, соответственно, повлиять на это время для первой загрузки?
Дополнительная информация:
- Общий хостинг
- Apache 2.2
- CentOS 6
- Процессор Intel Core i5-3570 @ 3,40 ГГц / ОЗУ 16 ГБ
Изменить: я провел 2 теста на простых файлах PHP - просто phpinfo().
Тест 1 DNS: хостинг компании A Веб-сайт: хостинг компании B Результат теста: http://cl.ly/image/1T181a452T2R
Тест 2 DNS: хостинг компании B Веб-сайт: хостинг компании B Результат теста: http://cl.ly/image/0Z262k2F2M2c
Второй тест показывает, что это быстрее, и я не понимаю, почему. Тесты одинаковые, код одинаковый. Но первый имеет время для первого байта... Есть идеи, почему?
1 ответ
Ваш веб-сервер может пытаться записать имя хоста клиента в файле журнала, и один из DNS-серверов, настроенный в /etc/resolv.conf, может отвечать медленно.
Если вам определенно не нужно имя хоста клиента для ведения журнала, вы должны убедиться, что hostnamelookup отключен, установив:
HostnameLookups Off