С тех пор как была написана краткая статья про требования к хостингу для Magento прошло почти два года. С того времени многое поменялось, а главное существенно выросли аппетиты к ресурсам самого движка электронного магазина. На официальном сайте в разделе обновилась лишь информация о увеличении размера memory_limit для PHP, на самом же деле нагрузка очень существенно увеличилась и на сервер MySQL. Итак давайте рассмотрим поэтапно какие настройки различных компонентов необходимы для сервера с установленным Magento Commerce и какая конфигурация сервера в расчёте Поцессор/Оперативная память нужны для комфортной работы с сайтом.
Стоит отметить, что на данный момент для работы сайта рекомендуется использовать VDS или Выделенный сервер, или же специально “заточенный” под Magento виртуальный хостинг. У многих западных хостеров существуют специальный тарифы для Magento, у российских/украинских пока такого не было замечено. В любом случае, при использовании виртуального хостинга, рекомендую уточнять у техподдержки вариант установки Magento или создаваемую им нагрузку.
Перейдём к цифрам
Было выяснено, что минимально подходящая конфигурация для VDS сервера примерно такая(вариант #1):
- CPU(процессор) – 700Мгц
- RAM(оперативная память) – 768Мб
При такой конфигурации, и с правильными настройками сервера страницы магазина грузятся 1-3 секунды. Опять же стоит оговориться что VDS такой конфигурации не стоит брать не менее чем за 30$ в месяц, иначе будет обеспечен жёсткий “оверселл”. Оверселлинг (overselling) – когда на физическом сервере, предназаначенном например для 10-ти VDS, будет размещено гораздо больше и взаимные тормоза обеспечены всем. Бесплатный сыр бывает сами знаете где.
Рекомендуемая конфигурация железа начинается с таких параметров(вариант #2):
- CPU(процессор) – 1000Мгц
- RAM(оперативная память) – 1Gb
При таком варианте скорость загрузки страниц будет примерно равна 1 секунде, что вполне нас устроит. Обратите внимание, что при увеличении посещаемости и большом количестве товаров может потребоваться лучшая конфигурация.
Правильные настройки сервера
Рассмотрим первый вариант VDS т.е. CPU/RAM – 700/768
Шаг №1 – PHP
В файле php.ini параметр memory_limit устанавливаем в 256M. После сохранения изменений – не забудьте перезагрузить Apache.
Шаг №2 – APC
Необходимо установить пакет кеширования промежуточного байт-кода – , что также поможет добиться повышения производительности. Для полной интеграции пакета APC и Magento, что предусмотрели разработчики, необходимо в файле app/etc/local.xml.additional добавить код между блоками :
1 2 3 4 5 6 7 8 | <global> ... <cache> <backend>apc</backend> <prefix>SiteX</prefix> </cache> ... </global> |
Вместо префикса SiteX можете вставить свой, он используется лишь в том случае, если на сервере несколько сайтов Magento, тогда для каждого из них нужно прописать разны префиксы.
Для кеширования кода Magento также поддерживает пакеты и Xcache.
Шаг №3 – настройка MySQL
Самое важное на мой взгляд – это настройка параметров MySQL сервера. Ниже приведены параметры конфигурационного файла my.cnf для MySQL.
1 2 3 4 5 6 7 8 9 10 11 12 13 | key_buffer = 400M max_allowed_packet = 48M table_cache = 1024 sort_buffer_size = 4m read_buffer_size = 4m read_rnd_buffer_size = 2m myisam_sort_buffer_size = 64m tmp_table_size = 96m query_cache_type = 1 query_cache_size = 64m thread_cache_size = 16 max_connections = 300 wait_timeout = 120 |
После эти трёх шагов скорость работы Magento должна существенно увеличится. Удачи в настройке вашего сервера.


Мы планируем начать активно работать с Magento. Хотелось бы пообщаться.