Вибираємо плагін для кешування Wordpress: бенчмаркінг 18 плагінів



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

Невелика ремарка про кешуванні
Google нещодавно оголосив, що всі mobile-friendly сайти (а швидкість — це шлях до того, щоб бути «friendly») отримують істотну перевагу в пошуковій видачі, починаючи з 21 квітня. Можливо, ви вже бачили тег «mobile friendly» в пошуковій видачі. І Google Page Insights перша ж панель адаптована під мобільні пристрої, а не під десктопи. Наміри Google ясні, і звучать голосно для будь-якого SEO-спеціаліста або вебмайстра. Зараз важливо працювати над продуктивністю як десктопною, так і мобільної версії сайту, що ми і спробували відобразити в бенчмаркінгу.

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

Wordpress (і більшість сайтів на CMS) динамічно формують сторінки на лету, що вимагає багаторазових звернень до бази даних для отримання різних частин контенту. Кешування цих динамічно формованих сторінок дозволяє користувачеві бачити звичайні HTML-сторінки. Це значно зменшує час завантаження та розвантажує сервер.

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

Для того, щоб зробити досліджуваний порожній сайт максимально наближеним до реальності, використовувалася тема Novelty від Tesla Themes. Тестову сторінку сайту оформили з використанням графіки та тексту, який був доданий сайдбар і деякі плагіни (висновок новин, фід з Twitter/Instagram). Тепер у нас є сторінка, завантаження якої займає відносно багато часу. Так, в якості хостингу використовувався ось цей WordPress хостинг.

Плагіни, які тестувалися:

  • AIO Cache
  • Alpha Cache
  • Bodi0's Easy Cache
  • Cachify
  • Flexicache
  • Gator Cache
  • Hyper Cache
  • Hyper Cache Extended
  • Lite Cache
  • Next Level Cache
  • Really Static
  • Super Static Cache
  • W3 Total Cache
  • Wordfence Falcon
  • WP Fast Cache
  • WP Fastest Cache
  • WP Rocket
  • WP Super Cache
  • WP-Cache.Com
  • Zen Cache (formerly Quick Cache)
Залишилися ще:

Brutal Cache — просто не працював;Batcache — плагін з залежністю від Memcache, що не використовувалося в поточному тесті.Ти-mize і Widget Cache також залишилися за бортом, оскільки вони є підтримкою для інших плагінів, це не зовсім самостійні плагіни.

Хостинг та інструменти бенчмаркінгу
Під час проведення тестів ми працювали з аккаунтом на шаред-хостингу, схожим з більшістю інших варіантів. Таким чином, ми отримуємо швидкість завантаження, досяжну для «бюджетних» користувачів. У тестованого сайту не було відвідуваності, на нього не заходили пошукові боти під час тестування. Сервер працював з Ngnix в якості проксі, а не з чистим Apache.

В якості інструментів використовувалися сервіси, пропоновані Google, GTMetrix і Yahoo. Завдяки цьому стало можливим тестувати не тільки швидкість завантаження сторінок, але і інші фактори, серед яких:

  • оптимізація зображень;
  • тимчасова затримка сервера;
  • минификация і оптимізація js і css-коду;
  • використання кешу в браузері;
  • розміщення скриптів;
  • використання CDN, розпаралелювання/доменного шардинга;
  • використання Gzip-стиснення;
  • HTTP-запитів.
Google PageSpeed Insights
Сервіс PageSpeed Insight перевіряє сайт як з точки зору десктопного ПК, так і з боку мобільного пристрою, видаючи оцінку за 100-бальною шкалою. Page Speed Insights простий у використанні, але надає стосовно сирої результат, який не дає повного розуміння того, що може бути покращено. Навіть незважаючи на те, що інструмент дає уявлення про деякі речі, які Google може знаходити важливими, інформація, що надається GTMetrix і Yahoo, набагато повніше.

При цьому Google під час оцінки не приймає до уваги CDN, тому в деяких випадках оцінка занижена.

GTMetrix і YSlow
GTMetrix і YSlow засновані на керівництві по підвищенню продуктивності ресурсу від Yahoo, оцінка також виводиться за 100-бальною шкалою. Ці інструменти набагато більш витончений у плані проведення вимірювань. PageSpeed Insight дає лише кілька підказок про те, що може бути покращено, в той час як GTMetrix YSlow працюють з не менш ніж 50 різними метриками. GTMetrix також пропонує діаграму-водоспад, препаруючи процес завантаження, а також досить просунуту історію завантаження. Якщо ви хочете зрозуміти, як підвищити продуктивність вашого ресурсу, це один із кращих інструментів.

Таймінг
В бенчмаркінгу використовувалися наступні інструменти для визначення швидкості завантаження сторінок і тестування роботи сервера під навантаженням.

ApacheBench
ApacheBench — відмінний інструмент, який допомагає визначити, скільки запитів в секунду здатний витримати сайт з використанням різних плагінів. Виконання тесту проводилося з відправкою 1000 запитів по 10 різних потоків. Тест виконувався 10 разів з фіксацією кращого результату по кожному з плагінів.

Варто зазначити, що використання Nginx дещо знижує відмінність між роботою сайту з плагінами/без плагінів. З цього приводу можна сперечатися, але в разі використання Nginx зафіксована дворазова різниця порівняно з Apache.

Pingdom
Pingdom — добре відомий сервіс для моніторингу і тестування. З кожним плагіном проводилося 20 тестів, з фіксацією кращого результату. Зазначимо, що сервер був розташований в Швеції (Стокгольм), а сервер Pingdom — в Нідерландах (Амстердам).

Webwait
Webwait — простий, але дуже корисний інструмент. Основне завдання сервісу — показати, за який час повністю завантажиться сторінка саме у вашому браузері. Таким чином, це не серверний інструмент, сервіс запускається локально. Webwait завантажує сторінку знову і знову, а потім показує середній результат. У нашому випадку був обраний спосіб завантаження через Ethernet, браузер Opera. Кожна сторінка завантажувалася 101 раз з отриманням середньої та медіанного часу завантаження.

Отже, з описом все, тепер приступимо безпосередньо до тестів.

Google, GTMetrix і Yslow
Сторінки сайту тестувалися з використанням зазначених сервісів, ось результат:

wordpress-cache-google-pagespeed
Як бачимо, деякі плагіни тут просто ніяк не проявилися — оцінка така ж або дуже близька до оцінки, коли кешування взагалі не використовується. Google дав кращу оцінку Supercache як для десктопа, так і для мобільного пристрою. У GTmetrix і Yslow ми бачимо, що Швидко Cache Rocket попереду планети всієї. Ми схильні оцінювати останні значення як більш важливі, оскільки Google Page Insight для оцінки використовує менше факторів.

Отже, кращими плагінами виявилися WP Fastest Cache, WP Super Cache і WP Rocket Cache. Переможець — WP Super Cache з роботою через мобільний девайс. Кешування для мобільних було також включено, про нього не забули.

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

wordpress-cache-google-pagespeed
Як бачите, досліджувана сторінка отримала 96 із 100 балів, що, ймовірно, краще, ніж у 99% сторінок будь-яких сайтів. Тим не менше ця сторінка завантажується майже 35 секунд. Коректний результат? Зробіть висновок самі :)

Таймінг — важливий тест, оскільки тут проводиться реальне вимірювання швидкості завантаження сторінок сайтів.

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

wordpress-cache-google-pagespeed
Без кешування сервер показує результат в 18 запитів за секунду. Це досить непоганий результат, який став можливим завдяки використанню Nginx. На кожен запит йде приблизно 1/500 с.

Тут ми бачимо, що Hyper Cache Ext, WP Fastest Cache, WP-Cache.com і WP Rocket покращують результат на 300% у порівнянні з роботою без кешування. WP Rocket найшвидший і WP-Cache.com займає друге місце.

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

Pingdom
Без кешування результат — близько 2,8 секунди. Використання практично будь-якого плагіна покращує результат принаймні вдвічі.

wordpress-cache-google-pagespeed
Webwait
Тут показаний як середній, так і медіанний результат при тестуванні в Webwait. Час завантаження трохи менше, оскільки був обраний шведський сервер Webwait (пам'ятаєте, це браузерний, а не серверний інструмент).

Середній час завантаження
wordpress-cache-google-pagespeed
Медіанне час завантаження
wordpress-cache-google-pagespeed
Як бачимо, практично невідомий WP-Cache.com працює досить непогано.

Не кешуванням єдиним
Звичайно ж, далеко не все залежить від кешування. Важливу роль відіграють і такі фактори, як вибір Apache, Nginx і т. п., коректність установки, тип сервера (виділений, VPS, шаред), кількість зображень і їх оптимізація, HTTP-запити. Власне, про ці фактори на «Хабре» знають практично все, тому зупинятися на них ми не будемо.

Висновок
У всіх плагінів, які тут представлені, різна функціональність. Деякі дуже прості, в той час як інші можна порівняти з швейцарським ножем. Super Cache, W3 і інші плагіни найчастіше використовують профі, які знайомі з CDN і іншими премудростями. Інші користувачі воліють працювати з більш простими плагінами начебто Lite Cache і WP-Cache.com. До речі, WP-Cache.com як говорилося вище, маловідомий плагін, який показав відмінні результати.

Хто переможець?
На першому місці — WP-Rocket, платний плагін, над яким працює ціла команда фахівців. За установку розробники просять $39, а за безлімітку — $199.

На другому місці — WP Super Cache. Тут результати майже такі ж, як і у лідера.

На третьому місці — WP-cache.com, заслужений призер. Схоже на те, що над створенням цього плагіна працювали нітрохи не менш здібні розробники, ніж над WP-Rocket. Цей плагін дуже простий в налаштуванні, так що, якщо у вас немає бажання морочитися з конфігурацією, рекомендуємо саме його.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.