LINUX.ORG.RU

Скорость TTFB по IP адресу быстрее, чем по имени домена.

 ,


0

2

День добрый сайт на VPS, подключен ssl сертификат. Так вот, проблема в том, что если тестировать скорость по чистому ip сервера, то время до получения первого байта (TTFB) = 1,2 секунды.

А если теперь протестировать сайт по домену с сертификатом SSL https://mydomen.ru, то TTFB = 3,5 секунды.

Если протестировать сайт без сертификата SLL, то есть без HTTPS, то скорость загрузи TTFB =2,2 секунды.

Итого. 1) время до получения первого байта (TTFB), тормозится по причине поиска IP сервера через домен. ТО есть, ввожу домен, идет поиск сервера. 2) Сертификат SSL

Вопрос, что можно сделать для оптимизации, где то читал что причина может быть в том, что плохо работает DNS-сервер, который содержит PTR записи для адресов его диапазона. Может быть не RTR записи.



Последнее исправление: maxik1986 (всего исправлений: 1)

Сделайте дамп тарфика для одно и другого случаев, поизучайте, посравнивайте, там и DNS запросы будут видны...

mky ★★★★★
()
Ответ на: комментарий от maxik1986

Пиши урл, запишут, помогут.
Но, с TTFB=1,2 секунды я бы начал оптимизацию сначала в другом месте.

imul ★★★★★
()

Тебя сейчас запутают. Сначала разберись в чем дело конкретно.
Тебе нужно:
1) Программной dig проверить время резовла через публичные рекурсивные DNS сервера (к примеру dyn, opendns, yandex и т.д.)
2) Проверить dig время резолва через твой дефолтный рекурсивный DNS (он может быть непубличным)
3) Проверить dig время резолва через сервер котор хранит твою зону. Если не знаешь какой это сервер, запроси NS запить у любого рекурсивного
4) Обратить внимание на TTL у записей зоны
5) Есть сомнения как и где ты намерил TTFB. Не вредно будет проверить программой curl с опцией -w. См man curl по словам time_namelookup, time_pretransfer и так далее 6) смотря как и где ты мерил, не лишним будет проверить хождение туда dns трафика вообще
7) в теории не исключено, что ttfb фактически разный в зависимости от наличия или отсутствия заголовка Host. Такое тоже может быть («vhostы кодом» условно говоря), это нужно уже код тогда смотреть почему так сделано.
8) есть много других гипотетических моментов.

entemophyllon
()

или если сложно всем этим заниматься, ткни пальцем в небо - просто попробуй перенеси зону домена в другое место. ищи по free/cheap dns zone hosting. если после переноса (должно пройти некоторе время) проблема решится, то как бы и всё.

entemophyllon
()
Ответ на: комментарий от entemophyllon

Спасибо большое, но я не специалист, мне бы помощь за $. Сможете помочь понять в чем дело?

maxik1986
() автор топика

Если речь идет об IP 194.58.82.36 и домене mydomen.ru, то можно сказать следующее:

Во-первых, по IP-шнику (по-умолчанию веб-сервера) отображается домен kelly.ru, поэтому сравнение с mydomen.ru не имеет смысла — совершенно разные страницы.

Во-вторых, судя по приведённым цифрам и непосредственной проверке с моего компа и другого VPS-сервера, то, что вы меряете, это вовсе не TTFB (Time To First Bite — время до получения первого байта веб-страницы после отправки запроса со стороны клиента). Это время общей загрузки в веб-обозреватель всех ресурсов страницы (html + css + все картинки).

То, что при HTTPS-запросе это время увеличивается — это вполне естественно, поскольку появляются дополнительные накладные расходы на установление HTTPS-соединения - https handshake. Ну и объем передаваемых данных слегка увеличивается. DNS здесь ни при чем.

Если это время не устраивает, то можно подтянуть параметры Apache-сервера — настроить директиву SSLSessionCache и директивы, влияющие на число одновременно обрабатываемых запросов. Ну и посмотреть использование Apache-сервером памяти и процессорного времени. Более кардинальное улучшение HTTPS-показателей можно получить за счет включения режима HTTP/2 – тогда все ресурсы страницы будут передаваться по одному TCP-соединению и исчезнут потери, связанные с установлением дополнительных соединений и handshake-фазой. Но для этого нужно перейти на версию Apache > 2.4.17.

А так, чисто визуально, время загрузки страницы вполне приемлемое.

vinvlad ★★
()

... ну и раздавать статичные файлы через Apache - не самый лучший вариант. Для этой цели больше подходит NGINX (плюс PHP-FPM или тот же Apache в роли backend-а - для динамически формируемых страниц).

vinvlad ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.