ActiveCache - кеширане с Redis и Memcached в cPanel

Помощен център

ActiveCache - кеширане с Redis и Memcached в cPanel

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

Всички тези елементи обаче ще останат невидими за потребителите ако сайта работи много бавно.

Преди десетина години различни изследвания посочваха като праг на търпимост към бързината на зареждане на сайтовете осем секунди. Последни публикации по същата тема се обединяват около праг от четири секунди. На петата секунда потенциалния ваш посетител вече е кликнал линк към конкурентен сайт.

Колкото и подобни данни да са субективни и оспорими едно е сигурно - посетителите в интернет не обичат да чакат.

В тази статия ще ви представим един полезен инструмент в ICN хостинг плановете Икономичен, Бизнес и Стандарт - ActiveCache, който е предназначен да намали времето за зареждане на уеб страниците.

ActiveCache дава достъп на потребителите до собствена инстанция на безспорните лидери в кеширането на данни - Memcached и Redis:

active cache cpanel

active cache cpanel

Memcached или Redis?

Когато производителността на дадена система трябва да бъде подобрена, кеширането често е първата стъпка, а Memcached и/или Redis са обикновено първите заподозрени в списъка с възможните решения.

Както Memcached, така и Redis принадлежат към NoSQL решенията за управление на данни като се базират на модела ключ-стойност и пазят всички данни в RAM паметта на сървъра, което ги прави изключително полезни като кеширащи инструменти.

Макар Redis да предлага много повече функционалност и възможности (различни типове данни, запазване данните на диск, master/slave репликиране, LUA скриптове, транзакции, клъстери и др.) в контекста на споделения хостинг кеширането е основната задача, която имаме за решаване и целта на следващите тестове е да сравним доколко двете технологии ще помогнат на нашите уеб страници да се зареждат по-бързо.

За целта на теста инсталирахме нов WordPress и импортирахме тестово съдържание (wptest.io).

Кеширане на уеб страници с Redis

Първо трябва да стартирате ActiveCache от Databases секцията на вашия cPanel:

active cache cpanel

От менюто Service избираме Redis:

active cache cpanel

Ако маркирате полето Use password ще се отворят още две полета:

  • Autogenerate password - ако маркирате тази опция Redis ще генерира автоматично парола, която по-късно да използвате за аутентикация.
  • Ако не маркирате Autogenerate password трябва в текстовото поле Password да въведете собствена парола.

active cache cpanel

Докато сте на вълна тестове може да не ползвате никаква парола (като не маркирате полето Use password) тъй като настройките по подразбиране на плъгините са без удостоверяване (authentication).

Натиснете бутона Save and Activate за да стартирате вашата Redis инстанция:

active cache cpanel

Ако сте решили да не ползвате парола и не сте маркирали опцията Use password в предишния екран полето за парола в таблицата ще бъде празно.

Копирайте данните от таблицата във файл или оставете екрана отворен тъй като ще имате нужда от тази информация.

От бутоните вдясно можете да изтриете цялата кеширана до момента информация (Flush) или да рестартирате вашата инстанция на Redis сървъра (Restart).

Инсталиране на Redis плъгин в WordPress

Проведохме няколко теста с Redis плъгини от WordPress.org, но получихме най-добри резултати с плъгин, който не фигурира в официалното хранилище за плъгини на WordPress и може да се изтегли от Github: https://github.com/markhilton/redis-http-cache/archive/master.zip

Разархивирайте файла на вашия компютър и качете в директория /wp-content/plugins само директорията /redis-wp-plugin/.

Сега от администрацията на WordPress активирайте плъгина, който има различно име от това на директорията - Redis Light Speed Cache:

active cache cpanel

Кликнете линка Redis Cache в менюто за да започнете конфигурацията.

Отворете таба Config и въведете порта на Redis от cPanel таблицата (16633) и паролата (ако ползвате):

active cache cpanel

Отворете таба Status - зеленият надпис [engaged] означава, че плъгина и сървъра са се свързали успешно.

От бутона Flush cache може да изтриете кешираните данни ако желаете системата да започне кеширането отначало:

active cache cpanel

За да имаме база за сравнение и оценка на приложенията, които ще тестваме преди изобщо да стартираме ActiveCache изпълнихме няколко теста към две страници от сайта и записахме най-бързите резултати Load time:

active cache cpanel

active cache cpanel

Сега нека използваме същия онлайн инструмент https://tools.pingdom.com/ и да заредим същите две страници. Повтаряме теста няколко пъти и записваме най-бързите времена за всяка страница:

active cache cpanel

active cache cpanel

И при двата теста имаме по-бързо зареждане и на двете страници съответно с 4.04% и 6.22%.

Кеширане на уеб страници с Memcached

Деактивирайте Redis плъгина в WordPress и Redis сървъра в cPanel.

Стартирайте Memcached в cPanel:

active cache cpanel

От тази информация ще ни трябва само порта 12633.

Инсталиране на Memcached плъгин в WordPress

От администрацията на WordPress инсталирайте плъгина WP-FFPC:

active cache cpanel

Кликнете линка Settings за да започнете конфигурацията:

active cache cpanel

Отворете таба Backend settings и въведете порта 12633 като изтриете 11211 и внимавате да не изтриете двоеточието (:) след IP адреса:

127.0.0.1:12633

Ако сте настроили браузера си да пази паролата за достъп до администрацията той най-вероятно ще въведе автоматично вашите данни, които обаче трябва да изтриете от двете полета:

active cache cpanel

и след това да натиснете бутона Save Changes.

За да завършите конфигурацията трябва да добавите следния код в wp-config.php файла на WordPress веднага след реда define('WP_DEBUG', false);:

define ( 'WP_CACHE', true );

Като рефрешнете екрана на плъгина от Settings > WP-FFPC не трябва да виждате съобщения за грешка:

active cache cpanel

Memcached плъгина е конфигуриран коректно и можем да повторим тестовете със същите две страници от нашия WordPress сайт:

active cache cpanel

active cache cpanel

Веднага забелязваме, че и в двата теста Memcached (15.07% и 14.29%) е значително по-бърз от Redis (4.04% и 6.22%).

При конфигуриране на различни плъгини от показаните в статията ви препоръчаме внимателно да прочетете указанията за инсталиране - при избора на плъгини ние срешнахме изисквания за дефиниране на настройки в wp-config.php, за копиране на файлове от директорията на плъгина в wp-content директорията, за добавяне на код в php.ini файл и др.

За финал сме запазили нещо още по-добро - какво ще се получи ако към кеширането с Memcached активираме за нашия тестов сайт и инструмента Page Speed от секция Domains в cPanel:

active cache cpanel

active cache cpanel

Заредихме същите две уеб страници през https://tools.pingdom.com/ - резултатите надминаха и най-смелите ни очаквания:

active cache cpanel

active cache cpanel

28.55% и 24.60% по-бързо зареждане на тестовите уеб страници в сравнение с времената на зареждане при неоптимизиран WordPress сайт без активиране на сървърни инструменти и допълнителни плъгини.

ApplicationPage 1Page 2
No optimization816ms756ms
Redis783ms (4.04%)709ms (6.22%)
Memcached693ms (15.07%)648ms (14.29%)
Memcached + Page Speed583ms (28.55%)570ms (24.60%)

Заключение

Бележка: Нашето искрено желание е резултатите от тези тестове да не се тълкуват като опит за внушение за/против както за кеширащите сървъри Redis и Memcached, така и за използваните в теста плъгини.

На база резултатите от конкретните тестове можем да направим извода, че двойката WP-FFPC (Memcached ) показа по-добри резултати от Redis Light Speed Cache (Redis).

Единствената цел на тестовете беше да ви покажем как да стартирате своята инстанция на Redis и Memcached и как да конфигурирате подходящи плъгини.

Напълно е възможно при тестове с други сайтове, други уеб инструменти и различни плъгини резултатите от гледна точка на кеширащите сървъри да бъдат коренно различни.

Надяваме се, че информацията в тази статия ще ви бъде полезна когато стане въпрос за бързината на зареждане на вашите уеб страници.