Як збільшити швидкість завантаження сайту - it education center blog

Про важливість хорошій швидкості роботи сайту було, є і буде сказано так багато, що краще резюме, мабуть - "швидкість роботи сайту = окупність сайту". Велика частина пропонованих рішень пов'язана з оптимізацією, а то і повним рефакторингом вихідного коду веб-сайту. Проводяться захоплюючі експерименти зі стисненням і пережатием зображень, перестановкою рядків подгрузки CSS- і JS-файлів, вимучіваніем прискорень власне з CSS-стилів - і так до нескінченності. На практиці ж, вимога "швидкий сайт" найчастіше йде в комплекті з "швидко зроблений сайт", що відразу визначає вибір движка проекту з добре відомих "коробкових" CMS.
З цієї причини, продуктивність і тюнінг проекту лягають на тендітні плечі адміністратора, або ж в більш модною трактуванні - DevOps -а.

Як збільшити швидкість завантаження сайту - it education center blog

Ми розглянемо варіант, коли потрібно "розігнати" вже готовий проект на найпопулярнішій безкоштовній системі WordPress. В якості апаратної платформи, візьмемо поширене і гнучке рішення - VPS-хостинг, де ми маємо повну свободу дій в плані установки будь-яких програм і їх налаштування.
Отже - що робити?

  1. Встановлюємо Percona Server замість MySQL

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

  1. nginx замість Apache HTTP Server

Веб-сервер nginx спочатку розроблявся з прицілом на вирішення проблеми C10K - ефективної роботи з більш ніж 10 тисячами клієнтських підключень, з чим він успішно впорався. Легкий і масштабований, nginx працює в асинхронному режимі і добре виконується на відносно слабкому "залозі".
Найчастіше, nginx використовується як проксі перед Apache, для ефективної обробки і розпаралелювання клієнтських запитів, ну а сам Apache відповідає в цій зв'язки за динамічні скрипти (код PHP і т.д.).
Також необхідно включити роботу сайту через протокол HTTP / 2, що дасть істотний приріст швидкості роботи.

На наступному кроці логічно напрошується думка - чи можна чимось замінити Apache? У нашому випадку, коли код CMS написаний на PHP, хорошим рішенням буде використовувати PHP-FPM. Цей модуль є альтернативною реалізацією бібліотеки PHP FastCGI і включає ряд додаткових можливостей.
Таке рішення обмежить нас вибором з CMS, написаних тільки на PHP, проте вибір серед них досить широкий практично для будь-яких завдань.
4. Встановлюємо Varnish

  1. Встановлюємо W3 Total Cache для WordPress

Плагін W3 Total Cache дає показує дуже гарні результати серед своїх побратимів - кешуючих плагінів для WordPress. Також W3 Total Cache вміє працювати і зі згаданим вище Varnish третьому, що дає кумулятивний ефект приросту продуктивності.

Не претендуючи на краще з можливих рішень, ми сміливо можемо заявити - виконавши все вищевикладене, ви зробите практично все, що було в ваших силах в плані програмної "розгону" вашого веб-проекту. Фахівці нашої компанії неодноразово застосовували озвучені вище поради на практиці, і поліпшення всіх показників не змушувало себе чекати.

Для всіх тих, хто вирішить досконально розібратися в тюнінгу веб-проектів та отримати відповіді на свої питання, двері наших курсів відкриті цілий рік!

Схожі статті