Коротка відповідь: Виміряйте перед тим, як щось міняти: таймінги curl -w ділять затримку між мережею, обробкою на сервері (TTFB) і завантаженням контенту. Високий TTFB вказує на застосунок/базу, повільне завантаження — на вагу сторінки чи мережу, а «повільно все, включно з SSH» — на ресурси сервера. Лагодьте виміряний шар, а не вгаданий.

Огляд

У «сайт повільний» чотири незалежні підозрювані: ресурси сервера, код застосунку, база даних і мережа/вага сторінки. У кожного дешевий тест. Гайд проходить їх у порядку ймовірності й зусиль.

Що потрібно мати

  • Доступ по SSH і один відтворювано повільний URL.

Покрокова інструкція

  1. Розділіть час:
    curl -o /dev/null -s -w 'dns: %{time_namelookup}s connect: %{time_connect}s ttfb: %{time_starttransfer}s total: %{time_total}s\n' https://yourdomain.com/
    TTFB > 1s = серверна обробка; великий розрив між ttfb і total = важка сторінка чи повільний канал.
  2. Виключіть дефіцит ресурсів: швидкі перевірки CPU і RAM; також df -h (повні диски гальмують усе).
  3. Шлях високого TTFB: увімкніть лог повільних запитів MySQL; додайте відсутні індекси; увімкніть кешування застосунку (обʼєктний кеш, кеш сторінок, OPcache для PHP).
  4. Шлях важкої сторінки: стисніть зображення, увімкніть gzip/brotli, зменшіть кількість сторонніх скриптів. Waterfall у dev-tools браузера назве найважчі ресурси.
  5. Якщо та сама сторінка швидка локально (curl із сервера на 127.0.0.1), але повільна віддалено — тестуйте мережевий шлях: див. швидкість мережі нижча за очікувану.

Типові проблеми

  • Взагалі немає кешування: кожен запит бʼє в PHP+БД — найбільший виграш на більшості сайтів.
  • Повільно лише у фіксовані години: cron-джоби/бекапи конкурують за I/O.
  • Далека аудиторія: фізика — обслуговуйте користувачів із найближчої локації або додайте CDN.
  • Сервер у swap: дефіцит RAM робить усе вʼязким; спершу гляньте free -h.

Коли звертатися в підтримку

Якщо виміри показують, що повільна саме мережева ділянка до всіх напрямків, або продуктивність впала без жодних змін із вашого боку, — відкрийте тикет із curl-таймінгами, а для мережевих ділянок — MTR в обидва боки.

Часті запитання

Що таке TTFB і про що каже високе значення?

Time To First Byte — скільки сервер «думає» перед відправленням першого байта. Значення понад приблизно секунду вказують на роботу застосунку чи бази даних, а не на мережу чи розмір сторінки.

Яка одна зміна найбільше прискорює типовий динамічний сайт?

Кешування: кеш сторінок плюс обʼєктний кеш перетворюють більшість запитів на читання з памʼяті замість роботи PHP і SQL та регулярно скорочують час відповіді на порядок.

Схожі статті

Потрібна допомога? Звернутися в підтримку Cloud2Y →

Ця відповідь Вам допомогла? 0 Користувачі, які знайшли це корисним (0 Голосів)