AddThis Smart Layers

пятница, 15 марта 2013 г.

Снова об оптимизации серверов

Давненько не брал я в руки шашек, надо бы восполнить пробел, тем более что появились новые технологии.

В одном из предыдущих постов я писал об установке Nginx на виртуальный сервер с предустановленным cPanel. Все работало и работает до сих пор очень даже хорошо.

Но, недавно я нашел еще лучшее решение, а именно связку Nginx+Varnish Cache для серверов под управлением cPanel. Называется Apachebooster. Сделал какой-то индус, но на удивление сделал добротно. Поставил уже на пару серверов и тьфу-тьфу, проблем не замечено. Зато существенный прирост в скорости очень даже хорошо ощущается.

Теперь, имея установленный Varnish Cache можно установить расширение для Magento, позволяющее создавать полностраничное кеширование.


На данный момент на всех наших серверах установлена версия PHP 5.3.x. Но, как пишут в энторнетах, если обновить до PHP 5.4.x, можно получить до 20% прирост производительности. Что не может не радовать.
На рабочих серверах пока ставить не буду, создам новый виртуальный сервер и сделаю из него полигон для тестов.

Кроме того, имеет смысл снова вернуться к использованию кеширования APC.
К сожалению, с ним возникали непонятные глюки на серверах, где есть несколько сайтов. Но, на сервере с одним сайтом проблем быть не должно.

При этом, Varnish Cache и APC работают на разных уровнях, так что коллизий быть не должно.

До сих пор еще не доводилось использовать Memcached. А зря, видимо. Его вполне можно использовать для хранения сессий Magento либо для кеша 2-го уровня (в терминалогии Magento - slow backend cache).
Нашел мануал по установке Memcached на сервер под управлением cPanel. Нужно попробовать. Потом напишу отдельный пост на эту тему.

Итак, будем использовать 3 различных вида кеширования на разных уровнях.
При этом попробуем различные конфигурации кеширования, используя одни и те же технологии.

Вариант 1:
  • APC для кеширования PHP запросов (в терминалогии Magento это fast backend cache)
  • Memcached для кеширования сессий
  • Varnish Cache для кеширования уже сгенерированных страниц
  • Кеш 2-го уровня остается без изменений, т.е. будет использоваться файловая система
Вариант 2:
Аналогичный первому, с той лишь разницей, что кеш 2-го уровня будет храниться в базе данных.

Вариант 3:
  • APC для кеширования PHP запросов (в терминалогии Magento это fast backend cache)
  • Memcached для кеша 2-го уровня (в терминалогии Magento это slow backend cache)
  • Varnish Cache для кеширования уже сгенерированных страниц
  • Сессии будут храниться в файловой системе, либо в базе данных
Есть еще один интересный вариант, но его я пока что не буду использовать, в силу недостаточных ресурсов сервера. Вариант этот подразумевает создание RAMDISK для хранения кеша 2-го уровня. Т.е. по сути, вместо использования обычного жесткого диска для хранения файлов, они будут храниться в быстрой памяти сервера.

Ну и напоследок хочу попробовать отказаться от консервативного сервера баз данных MySQL в пользу Percona или MariaDB. Нужно еще посмотреть, какой из них лучше вписывается в cPanel.

Update (27.02.2016)

- Модуль Apachebooster для cPanel более не поддерживается


Комментариев нет :

Отправить комментарий