Ми використовуємо cookie-файли
Для оптимізації роботи нашого сайту ми використовуємо cookie-файли. Продовжуючи використовувати сайт, Ви погоджуєтеся з використанням cookie-файлів.
Новий дизайн
Панель керування
  • Русский
  • Українська
  • English
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307 Гаряча лінія
  • +38 (044) 392-74-33 Київ
  • +38 (057) 728-39-00 Харків
  • +38 (056) 794-38-31 Дніпро
  • +38 (032) 229-58-93 Львів
  • +38 (048) 738-57-70 Одеса
  • +38(093) 170-15-42  Life
  • +38 (067) 400-88-44 Київстар
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7 (499) 348-28-61 Москва

2.19.2. Час відповіді сервера (TTFB)

Час відповіді сервера (TTFB - Time To First Byte) - час до отримання першого байта (мережевого пакету) сторінки сайту після відправлення запиту з боку клієнта (наприклад, з браузера).

Це комплексний показник, в першу чергу залежить від того, які операції виконуються на сервері під час обробки запиту. Великий час відповіді може бути пов'язаний з десятками факторів: логіка програми, повільна робота з базою даних, маршрутизація, програмна платформа, бібліотеки, нестача процесорної потужності або пам'яті.

Перевірити, що причиною підвищеного часу відповіді сервера є внутрішні процеси сайту (скрипти, запити до бази даних), а не загальні проблеми з сервером, простіше і швидше за все можна за допомогою максимально примітивного PHP-скрипта, наприклад, що виводить результати phpinfo.

Якщо спочатку заміряти TTFB для запиту, який передбачає участь скриптів сайту (зазвичай головна сторінка сайту, якщо він динамічний), а потім TTFB для запиту до примітивного скрипту, то різниця між отриманими результатами приблизно покаже чистий час роботи скриптів.

Переконатися в тому, що сама по собі база даних також відпрацьовує швидко, можна, виконавши примітивні запити до неї, або хоча б просто перевіривши час відкриття будь-яких таблиць через phpMyAdmin.

Для зменшення часу відповіді сервера розробнику сайту (або залученому сторонньому профільному спеціалісту) варто самостійно провести аналіз операцій, що виконуються на сайті при обробці запитів, і вивчити можливість їх оптимізації.

Найбільш прямий підхід - логування роботи скриптів. Тобто в скриптах, які виконуються кожен раз в процесі завантаження сайту, проставити контрольні точки, в яких відзначати час, який знадобився для обробки тієї чи іншої ділянки коду. Приклади виведення часу обробки скрипта можна знайти у відкритих джерелах в мережі (наприклад, тут).

У разі наявності затримок, пов'язаних із запитами до бази даних, слід:

  • Перевірити наявність повільних запитів і якщо такі присутні, вжити заходів щодо їх оптимізації.
  • Постаратися визначити найбільш важкі запити і оптимізувати їх за аналогією з інструкцією.
  • Проаналізувати структуру самої бази даних і при необхідності провести роботи по її оптимізації за аналогією з інструкцією.

З боку хостингу допомогти в деякій мірі скоротити час відповіді сервера можуть такі засоби:

  1. Зміна версії PHP на новішу, якщо код сайту з нею сумісний (особливо може бути помітний ефект переходу з PHP 5 на PHP 7).
  2. Підключення і настройка додаткової послуги OPcache (кешування скомпільованого байт-коду скриптів в оперативній пам'яті, спеціальна підтримка з боку сайту не потрібна).
  3. Підключення і настройка додаткової послуги Memcache(d) або Redis (кешування довільних даних в оперативній пам'яті, вимагає підтримки з боку сайту).