Здравствуйте, дамы и господа, PrestaShop стала довольно популярной для создания интернет-магазина, даже умудрилась серьёзно потеснить на сём рынке WooCommerce и OpenCart. Про преимущества и недостатки системы рассказывать не буду, лучше расскажу о том, какой хостинг подойдёт для PrestaShop.
Для теста взял 6 известных хостингов, кидал сайт между ними, заодно проводил нагрузочное тестирование. Я делал такое тестирование ещё с версией 1.7.6.8, но сейчас провёл повторное тестирование с версией 8.1.7. Вот список хостингов, которые, на мой взгляд, больше всего подходят для PrestaShop:
- Beget. На мой взгляд один из лучших хостингов в России, сайты размещаю именно на нём. Особенно хорошо использовать связку PrestaShop+Redis, но аддон для Redis стоит 70 евро.
- Sprinthost, по нынешним временам недорогой хостинг, но хороший и надёжный, так что рекомендую его, если Бегет чем-то не нравится.
- Reg.ru (промокод на скидку в 5% на хостинг и/или домен прилагаю: 8404-F30B-D292-4306).
- Fozzy (промокод со скидкой на услугу хостинга в 10%: 0f42e170-1599-4410-8934-83f003aa61df).
- SpaceWeb.
- Макхост.
С нагрузкой для небольшого интернет-магазина их тарифы начального уровня справятся на ура. А большего и не требуется.
Выбор лучшего хостинга для PrestaShop 8.x
На момент написания статьи использовал версию 1.7, но статья актуальна и по сей день, так как я протестировал хостинги с версией 8.1.7 и обновил данные. Также решил не брать для рассмотрения 1.6 и ранние версии, хотя много интернет-магазинов базируются на них. Лучше подумайте над обновлением. А теперь перейдём к системным требованиям.
Как видите, здесь всё очевидно:
- Система: Unix, Linux, Windows. Но лучше PrestaShop работает на Linux-хостингах. Все рассмотренные хостинги базируются на сборках Linux.
- Веб-сервер: Apache 2.4 или выше. На большинстве хостингов используется версии 2.4. Впрочем, с теми же Nginx или LiteSpeed движок прекрасно работает.
- Версия PHP 7.2.5 и выше. Рекомендуется 8.1. Всё работает.
- MySQL 5.6 или выше. Везде стоит 5.7. С 8 версией MySQL тоже работает, но на большинстве хостингов она пока недоступна.
- Минимум 256 МБ в директиве memory_limit. Выставил на всех хостингах 512.
Собственно на этом всё, требований больше не имеется. Кстати, устанавливал классическим методом, а не через Composer (да, такая возможность есть).
А теперь посмотрим на список хостингов, которые выбрал для тестирования. Если честно, на этот раз решил протестировать только 6. Например, для WP брал 10 провайдеров, но дело муторное, потому просто взял те, что больше всего понравились и протестировал их. Исходные данные для теста:
- Версии PHP – 8.1, MySQL 5.7, веб-сервер в зависимости от хостинга, Apache+LSAPI на Fozzy, на остальных Nginx+Apache.
- Устанавливал только чистый PrestaShop, фактически демонстрационный шаблон. Подрубил к нему метрику. А также взял лицензии аддонов от умершего интернет-магазина, например, Blog Pro, конфигураторы, докинул Метрику и Аналитику. Но без переборов.
- Тарифы брал не самые дорогие. На 5 или более сайтов (предложение зависит от хостинга). Для серьёзных ИМ не подойдут.
- Тестировал производительность сайта под нагрузкой, созданной с помощью приложения Apache Jmeter.
Базовые возможности для кеширования и минификации активированы. На Бегет добавил Redis, благо, у меня была свободная лицензия расширения.
Вместо того, чтобы проверять производительность хостинга, я подошёл к делу с прикладной точки зрения и заодно стал тестировать в популярных инструментах.
Методика тестирования
Сначала вычислил количество запросов посредством GTmetrix. Стрелкой отметил, где их можно увидеть. Соответственно, каждый посетитель при загрузке страницы будет генерировать такое количество запросов.
Также вы можете посмотреть количество запросов в DevTools браузера Chrome. Запустите его с помощью клавиши F12, откройте вкладку Network.
Нагрузку создал искусственно с помощью приложения Jmeter. Наиболее адекватно хостинги себя показали при 200 уникальных посетителях в минуту и ниже. Вот результаты.
Как видите, при 100 посетителях ошибок нет. Но давайте вкинем 200 посетителей.
Уже чутка похуже. Пошли небольшие ошибочки. И задержки серьёзно выросли. Дальше размещу видео, в котором наглядно на графике покажу проблемы, связанные с ростом количества посетителей.
Дальше поставим 500 посетителей и получаем такую картину.
Процент ошибок переваливает за 50. При новом тестировании всё было заметно лучше. В данном случае скриншоты менять не стал, так как суть осталась прежней.
Учтите, я не стал заваливать скриншотами со всех проведённых тестов, ибо картина получается примерно одинаковая. Разве что Reg.ru чуть быстрее падает, а Beget тянет чуть получше остальных. Но 3-5 процентов разницы здесь особой роли не играют, обычная погрешность, не более. Ну и сводная таблица с процентом ошибок по отчётам.
Название хостинга / Количество посетителей | Beget | Sprinthost | Fozzy | Reg.ru | SpaceWeb | Макхост |
---|---|---|---|---|---|---|
100 | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% |
200 | 0.00% | 0.01% | 0.00% | 0.02% | 0.01% | 0.00% |
500 | 37.17% | 40.06% | 41.21% | 42.82% | 44.13% | 44.59% |
Как видите, результаты примерно на равных. Разницу можно списать на простую погрешность, ибо она небольшая. Чтобы зафиксировать реальное положение вещей, нужно провести довольно много подобных проверок, но думаю, услугу хостинга мне заблокируют раньше, чем получу достаточно данных. Так что по 2 теста на каждую площадку провёл и хватит.
А теперь пояснение. 200 уников в минуту сожрут все ресурсы процессора. Это именно стресс-тест, то бишь хостинг позволит иногда наваливаться народу, но если у вас постоянно планируется такое количество посетителей в минуту, то рекомендую брать бизнес-тарифы. Это уже довольно мощный ИМ получится. За 12 часов — 144 тыс. посетителей. Это уже даже не в бизнес-хостинг, а на выделенный сервер, а то и физический заказать стоит. Так что 200 посетителей в минуту только для теста. Адекватное количество не более 20 уников в минуту.
И ещё добавлю. Шаблон используется базовый, то бишь минимум функционала. Я не устанавливал весь набор аддонов. Допиленная под ваши задачи площадка, вероятно, будет генерировать больше запросов.
А теперь прямо в процессе стресс-теста проведём тестирование. Я взял 3 наиболее популярных инструмента:
Впрочем, тот же GTmetrix уже давно стал филиалом PageSpeed Insight, так что он теперь может показать только некоторые интересные данные, которые не увидишь на PSI.
Примерно так выглядели тесты.
Сводные результаты по всем хостингам привожу в таблице. В том числе тарифы и стоимость.
Название хостинга / Результаты теста (под нагрузкой) | Beget | Sprinthost | Reg.ru | Fozzy | SpaceWeb | Макхост |
---|---|---|---|---|---|---|
PageSpeed Insight Mobile / PC | 83/98 | 80/96 | 78/94 | 81/95 | 76/96 | 78/97 |
First Contentful Paint (Mobile/PC) | 1,1 сек. / 0,4 сек. | 1,2 сек. / 0,4 сек. | 1,4 сек. / 0,6 сек. | 1,3 сек. / 0,5 сек. | 1,5 сек. / 0,5 сек. | 1,4 сек. / 0,5 сек. |
Largest Contentful Paint (Mobile/PC) | 3,9 сек. / 1,1 сек. | 4,1 сек. / 1,2 сек. | 4,2 сек. / 0,9 сек. | 4,1 сек. / 1,0 сек. | 4,4 сек. / 0,9 сек. | 4,3 сек. / 0,9 сек. |
Speed Index (Mobile/PC) | 1,9 сек. / 0,8 сек. | 1,9 сек. / 0,9 сек. | 2,1 сек. / 1,1 сек. | 2,0 сек. / 1,0 сек. | 2,2 сек. / 1,0 сек. | 2,1 сек. / 1,0 сек. |
GTmetrix Perfomance | 87% | 86% | 84% | 85% | 83% | 85% |
Тариф | Start + Redis | Плюс-10 | Host-1 | 100 сайтов | Ракета | Мак-10 |
Цена (за месяц) | 500 рублей (без Redis — 440 рублей) | 399 рублей | 539 рублей | 19 долларов США | 339 рублей | 349 рублей |
А вот в довесок видео, в котором наглядно показываю, как работать с Apache Jmeter.
Не увлекайтесь сильно с количеством посетителей, но если решите протестировать сразу 10 тыс. посетителей в минуту, то предупредите хостера, что будет вечеринка.
Подводим итоги
Как видите, из 6 протестированных хостингов для PrestaShop подойдут все.
Демонстрируют практически одинаковые результаты. Так что можете ориентироваться скорее на цену за услугу и удобство пользования. Сам переехал в итоге на Beget, так как там и скорость хороша, и админ-панель удобная, есть Redis. На том же Sprinthost мне не нравится админ-панель, но сам хостинг хорош, а с Макхост ушёл после того, как из-за делёжки хостинга много сайтов просто отрубили. Впрочем, на Reg.ru тоже имею хостинг.
Так что лучший хостинг для небольшого интернет-магазина на PrestaShop тот, что придётся по вкусу. Берите у всех провайдеров пробный период, пробуйте, в итоге оставайтесь там, где больше понравится.