Community
2 15199
HostiServer
2018-11-06 14:22

Прискорте свій сайт на WordPress легко: оптимізація бази даних

Базові кроки оптимізації MySQL (WP-Optimize, WP-Sweep, phpMyAdmin)

База даних є потужним стандартом для зберігання, обслуговування та зміни ваших даних. Це "мозок" вашого сайту, де зберігається все: контент, коментарі користувачів, налаштування сайту, використані теми та плагіни. З кожною зміною, яку ви вносите на сайт (публікація нової статті, додавання нової галереї, встановлення нової теми тощо) — база даних оновлюється новими даними і швидко зростає в обсязі. Водночас зростаюча кількість одночасних відвідувачів, які переглядають ваш сайт і запитують контент, призводить до зростання кількості базових і складних запитів MySQL до бази даних.

Базовий запит MySQL — це запит до однієї таблиці в базі даних, складний запит MySQL — запит даних із кількох таблиць.

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

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

Почнемо з базових кроків оптимізації бази даних: оптимізації таблиць даних.

Як оптимізувати базу даних WordPress за допомогою плагіна WP-Optimize

Цей плагін для оптимізації WordPress є одним із найпростіших і водночас найефективніших інструментів для оптимізації баз даних вашого сайту на WordPress. Єдине, що вам потрібно знати, — як встановлювати плагіни в WordPress.

Увага!
Перед тим як продовжити, переконайтеся, що ви створили повну резервну копію поточної бази даних. Ви можете зробити резервну копію за допомогою WP Database Backup або WP-DB-Backup, у панелі керування сервером або просто попросити підтримку про допомогу.

З огляду на це, давайте подивимося, які кроки потрібно виконати для оптимізації бази даних WordPress і видалення сміття з неї.

  1. Встановіть і активуйте WP-Optimize.
  2. Перейдіть до налаштувань плагіна, натиснувши на пункт меню WP-Optimize у панелі адміністратора WordPress.
  3. У списку операцій відзначте пункти, які ви хочете оптимізувати у вашій базі даних. Пункти, позначені червоним кольором, відносяться до розширеного налаштування бази даних. Відзначайте їх лише якщо у вас є свіжа резервна копія і ви знаєте, як відновити базу даних із резервної копії.
  4. Натисніть кнопку "Run all selected optimizations".
Optimize Wordpress database with WP-Optimize

Ви завершили!

У результаті WP-Optimize очистить всі застарілі дані (видалені, непідтверджені, спам-коментарі тощо), всі версії записів та зайві пробіли у таблицях даних.

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

Як оптимізувати базу даних WordPress за допомогою WP-Sweep

Ще один плагін для оптимізації таблиць даних від автора популярних плагінів WordPress — Лестера Чана.

Його інтерфейс дуже простий і інтуїтивно зрозумілий у використанні. Ви одразу побачите детальну зведену інформацію про поточний обсяг сміття в таблицях даних. Більше того, WP-Sweep дозволяє виконувати як повну, так і поступову оптимізацію.

Після встановлення ви можете отримати доступ до WP-Sweep через меню "Інструменти" (у лівій панелі адміністратора WordPress) -> Sweep.

Optimize MySQL with WP-Sweep

Як оптимізувати базу даних WordPress у phpMyAdmin

Ця опція доступна лише у випадку, якщо ви використовуєте панель керування (наприклад, cPanel) і маєте доступ до інструменту phpMyAdmin.

Перед будь-якими змінами в базі даних обов’язково зробіть її резервну копію.

Тепер, коли копія створена, можна приступати до оптимізації.

Виконайте наступні кроки:

  1. Увійдіть до панелі phpMyAdmin і виберіть базу даних, яка відповідає вашому сайту на WordPress у лівому меню. Якщо ви не знаєте, яку саме базу даних використовуєте, знайдіть її у файлі wp-config.php у кореневій папці сайту. Відкрийте файл у будь-якому редакторі і знайдіть рядок, що починається з define('DB_NAME'). Назва бази даних буде вказана в цьому рядку.
  2. Відзначте назви таблиць, які потрібно оптимізувати. Якщо потрібно оптимізувати всі таблиці — прокрутіть униз списку і натисніть "Check all". Поруч праворуч побачите випадаюче меню "With selected" — відкрийте його і виберіть пункт "Optimize Table":
Optiizing tables in phpMyAdmin

Після натискання цієї команди phpMyAdmin виконає оптимізацію таблиць.

Що відбувається в результаті? Інструмент phpMyAdmin запускає ту саму команду SQL OPTIMIZE TABLE, яку застосовують плагіни, про які згадувалося вище. Вона реорганізовує фізичне зберігання даних у таблицях і пов’язаних з ними індексах, що зменшує зайняте місце і покращує ефективність доступу до даних.

Фрагментація таблиць виникає, коли база даних регулярно оновлюється, тому її дефрагментація необхідна для прискорення вибірки даних.

Корисні SQL-запити для очищення бази даних WordPress

Альтернатива використанню плагінів — ручне очищення таблиць бази даних. Ось кілька базових SQL-запитів:

Масове видалення версій записів:

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
LEFT JOIN wp_term_taxonomy d ON (b.term_taxonomy_id = d.term_taxonomy_id)
WHERE a.post_type = 'revision'
AND d.taxonomy != 'link_category';

Масове видалення спам-коментарів:

DELETE FROM wp_comments WHERE comment_approved = 'spam';

Масове видалення непідтверджених коментарів:

DELETE from wp_comments WHERE comment_approved = '0';

Масове видалення невикористаних тегів:

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms);
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Масове видалення транзієнтів:

DELETE FROM wp_options WHERE option_name LIKE ('%\_transient\_%');

Подальша оптимізація стосується налаштування продуктивності MySQL і починається з визначення та пошуку повільних запитів безпосередньо у MySQL.

Як знайти повільні запити MySQL?

Повільні запити MySQL — це запити, що виконуються занадто довго і підлягають оптимізації.

Щоб визначити їх, потрібно активувати журнал повільних запитів MySQL на сервері (за замовчуванням він вимкнений). Це можна зробити, налаштувавши конфігураційний файл my.cnf, зазвичай розташований у etc/mysql/my.cnf або etc/my.cnf.

Відкрийте цей файл у текстовому редакторі та додайте:
slow_query_log = /var/log/mysql/mysql-wp-slow.log
long_query_time = 5,
де /var/log/mysql/mysql-wp-slow.log — шлях до файлу, куди будуть збережені повільні запити (цей файл потрібно створити заздалегідь), 5 — час у секундах для визнання запиту повільним.

Після перезапуску MySQL усі повільні запити будуть записуватися до файлу /var/log/mysql/mysql-wp-slow.log для подальшої оптимізації.

Висновок

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

Contents

VPS з підтримкою від

$19 95 / міс

Виділені сервери від

$80 / міс

CDN починаючи від

$0 / міс

 

Користуючись цим сайтом, ви погоджуєтеся на використання файлів cookies відповідно до нашої Політики Конфіденційності.