Хостинг для высоконагруженных интернет магазинов

Web

Всем привет! Сегодня хочу открыть страницу нового моего направления, о котором я думал уже давно, а с недавних пор как запустил (пока все в черновиках, но ожидайте публикации) темы #LinuxDay, в которой я открою глаза людям как просто можно внедрять Linux на предприятии, а также его поддерживать! И вот последние несколько месяцев у меня ушло на написание большого числа инструкция по внедрению Linux (Simply Linux) на предприятии и поднабрав немного опыта и практических знаний, зачесались руки проверить свои знания уже и на более высоком уровне, а если быть точнее на уровне администрирования сайтов! Тем более, что подвернулся момент, на котором можно все это обкатать в боевых условиях на реальном сайте. итак поехали!)

 

Исходные данные!

  1. Магазин на opencart 2 версия
  2. Количество товара около 42 тыс
  3. Посетителей в день от 300-700 (без рекламы)
  4. Посетителей в день с запущенной рекламой 1000-1500
  5. Хостинг: обычный виртуальный хостинг
  6. Сайт получает первый контент в среднем за 4-6 секунд

Хостинг для высоконагруженных интернет магазинов

 

Как видно с рисунка картинка плачевная, но не настолько, что бы впадать в депрессию!  Раз уже есть пациент, пора готовиться к операции) для этого нам потребуется:

  1. Определиться с хостингом
  2. Рассчитать и выбрать тариф
  3. Выбрать, OC на какой будем запускать наш сервер
  4. Выбрать Web сервер
  5. Первый запуск на дефолтных настройках

 

Выбор хостинга

Данный вопрос у меня уже давно не вставал, потому как в своё время я провел глубокий анализ и уже несколько лет не мониторил рынок других хостинг компаний, но тут ситуация немного другая и нам нужен не стандартный виртуальный хостинг за 100 рублей в месяц, а уже хостинг другого уровня, где все настройки, правки и поддержку будешь осуществлять своими силами, не прибегая к помощи технической поддержки хостинга.. Исходя из наших задач нам нужно выбрать сервера под аббревиатурами VPS или VDS:

  • VPS (Virtual Private Server) — в переводе на русский означает «виртуальный частный сервер»
  • VDS (Virtual Dedicated Server) —  в переводе на русский означает «виртуальный выделенный сервер»

Если быть кратким то, по сути оба термина означают одно — что это виртуальный выделенный сервер, а уже конкретные различия между ними кроются на более низком уровне управления!

Но так как мы только начинаем тестировать, то VPS нам хватит выши крыше и даже больше!

Поэтому остается подобрать хостинг, на котором будем проводить все эксперименты! Посмотрев и почитав на сайтах рейтинги я пришел к выводу, что для такого проекта я выберу хостинг:

  1. Российская компания
  2. Безлимитный трафик
  3. Давно на рынке
  4. Хорошие отзывы!

На основании этих данных из десятка претендентов была выбрана компания VEESP.com

Выбор Тарифа

Как было написано выше, мы выбираем только VPS поэтому отталкиваемся только от этих условий. На странице Услуги и сервисы я буду отталкиваться от тарифа:

  1. Который будет чисто под линукс
  2. На SSD дисках
  3. С памятью от 1 GB

На основании своих минимальных требований был выбран тариф SSD 1

тариф VPS

Выбор OC для web сервера

Для web сервера можно выбирать разные семейства Linux

  • Ubuntu
  • openSUSE
  • CentOS
  • Fedora
  • Arch Linux

выбор web server

Так как я по работе использовал Alt Linux из семейства (Red Hat)  и мне нравится его стабильность в работе, я выбрал для веб сервера его «собрата»  — CentOS.

 

Какой Web сервер выбрать?

Следующий важный шаг это уже выбор веб сервера на котором у нас будет крутится сайт таких на данный момент два:

  1. Apache
  2. Nginx

apache или nginx какой выбрать

До недавнего времени Nginx была Российского происхождения, созданная нашим специалистом Игорем Сысоевым и в этом году 2019 была продана компании F5 Networks почти за полмиллиарда долларов!

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

Для примера:

  • Если  у Вас динамический контент — то идеально подходит сервер Apache
  • Если у вас много статического контента (такой как допустим фото сайт) то идеально подойдет сервер Nginx

Я буду выбирать сервер Nginx исходя из следующих характеристик:

  1. быстрая отдача статичного контента (файлов)
  2. кэширование результатов работы PHP-скриптов
  3. отказоустойчивость

Еще дополнительный плюс серверов Nginx в том, что он может работать как прокси сервер и даже если упадет сервер, сайт будет работать и отдавать посетителям кэшируемые страницы! Я считаю это очень хорошим плюсом!

Первый запуск сайта на дефолтных настройках

хотел все в одной статье расписать, но тонкую настройку Nginx + CentOS оказалась настолько объемной, что опишу ее в следующей статье + доделаю некоторые настройки софта и уже покажу наглядно дополнительную оптимизацию, но что бы показать конечный результат, что получилось без каких то настроек из серии поставил и запустил смотрите

переезд сайта на vps

Итого

Скорость сайта, а точнее загрузка контента уменьшена с 4.62 на 2.65 секунд и даже по первым ощущением сайт стал значительно быстрее работать! Но повторюсь это только дефолтные настройки! дальше будем играться с кешами и распределением нагрузок!

PS Тут ещё, конечно, играет и тот вариант, что на виртуальном хостинге, где до этого крутился сайт, на этом же сервере могли и ещё пару десятков сайтов работать, и поэтому скорость падала, потому как все ресурсы распределяются равномерно, а тут мы сидим одни и те ресурсы, которые выделены нашему виртуальному серверу, принадлежат только НАМ! Так что хотите поднять свой experince — стоит уже начать изучать линукс!

Всем спасибо и пока!

nibbl
Оцените автора
NIBBL
Добавить комментарий