Назад | Перейти на главную страницу

Debian CT страдает высоким TTFB несовместимо с LEMP

У меня есть собственный маршрутизатор и собственное оборудование, и я отвечаю за свою сеть. Мой HTTP-интерфейс находится на Debian 10 в контейнере LXC на Proxmox.

Веб-интерфейс моего самого большого сайта страдает чрезвычайно высоким TTFB. Я исключил Cloudflare, MySQL, PHP, NGINX и свой собственный VPN.

Это водопад для HTML-документа.

Это водопад для одного и того же HTML-документа при другой перезагрузке.

Единственное, что отличается от этого, - это попытка. В остальном все идентично. Я могу F5 и последовательно получаю каждый.

Это результат CURL для более точных измерений.

   time_namelookup: 0.510097
      time_connect: 0.685818
   time_appconnect: 0.000000
  time_pretransfer: 0.685864
     time_redirect: 0.000000
time_starttransfer: 0.861670

Мой естественный пинг для этого устройства составляет 175 мс, что на + 3 мс выше естественного пинга для тестовых IP-адресов для моего центра обработки данных, поэтому я также не считаю, что это проблема маршрутизатора.

Я читал, что это могло быть связано с DNS. Я использую общедоступный DNS Google. Я побежал dig и я также получаю от этого непостоянное время отклика.

;; Query time: 8 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Jan 31 14:22:37 UTC 2020
;; MSG SIZE  rcvd: 57
;; Query time: 174 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Jan 31 14:22:18 UTC 2020
;; MSG SIZE  rcvd: 57

Это 50/50, если я получаю 150 мс или 8 мс, снова и снова выполняя команду dig.

Однако Pining 8.8.8.8 - это нормально.

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=8.25 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=8.17 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=13.7 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=57 time=8.22 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=57 time=8.18 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=57 time=8.22 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=57 time=8.24 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=57 time=8.23 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=57 time=8.20 ms
64 bytes from 8.8.8.8: icmp_seq=10 ttl=57 time=8.36 ms

Интересно, пытаюсь dig Домены, управляемые Cloudflare, стабильно дают низкий MS. Мои сертификаты SSL получены от LetsEncrypt, и мой сертификат SSL, с которым общается Cloudflare, также является LetsEncrypt. Сертификат LetsEncrypt содержит несколько доменов, некоторые из которых находятся за пределами Cloudflare, а некоторые из них.

Однако это не может быть просто SSL-сертификат, потому что при использовании версий сайта без HTTPS все еще наблюдается странное колебание, составляющее не менее 150 мс.

На самой машине я пробежал curl и проверил вывод. Фактический PHP-FPM последовательно отображает отрисовку всей страницы за 0,05 с. Почти 100% времени загрузки моего сайта связано с какими-то накладными расходами.