В этой статье мы расскажем как, когда и почему возникает нагрузка на сайте. И что такое вообще производительность CMS и посещаемость сайта в целом.
При чем все, что описано ниже, в той или иной мере относится к любой CMS.
Как считается нагрузка?
Нагрузка считается в хитах (запросах), т.е. в просмотрах страниц. Чем их больше обрабатывается в единицу времени, тем лучше. Однако максимальное количество запросов к серверу (успешных показов страниц) часто путают с понятием посещаемости, задавая вопрос: а какую посещаемость выдержит движок. Это не совсем правильно. Все зависит от того, какой у вас сайт, сколько на нем данных, какие это данные и так далее. А сравнение посещаемости видеосайта и обычного новостного сайта вообще в принципе некорректно.
Среди вебмастеров показателем посещаемости служит цифра, обозначающая количество уникальных посетителей сайта в сутки.
Однозначно просчитать максимальное количество посетителей сайта невозможно. Есть множество критериев, которые влияют на это.
От чего зависит максимальная посещаемость
В первую очередь конечно же от мощности сервера, где расположен ваш сайт. Если ваш сервер имеет слабое железо, маленькую пропускную способность сети, то рассчитывать на то, что он обслужит достаточное количество посетителей не стоит.
Во-вторых, это версии установленного ПО и их настройка. От версии интерпретатора PHP очень многое зависит. Например, если сравнить производительность PHP 5.3.X и PHP 7.X то в последней производительность будет существенно выше, а значит и одновременных запросов ваш сервер выдержит больше. Очень важна грамотная настройка программного обеспечения, необходимого для работы непосредственно CMS: MySQL, Apache, PHP и NGINX, если вы его используете. Конечно же, правильная настройка и работа самой операционной системы тоже важна. К слову, мы предпочитаем в качестве операционной системы для сервера Debian.
И, наконец, в-третьих, это уже правильная архитектура самой CMS, поддержка кеширования данных на уровне самого движка и грамотный код.
Отлично, а что есть в вашей CMS для снижения нагрузки на сервер?
Конечно же, архитектура движка спроектирована грамотно, является модульной системой, построенной с использованием MVC-архитектуры. Код основной базовой CMS открыт и вы можете изучить и оценить возможности сами на GitHub.
В CMS поддерживаются механизмы кеширования данных на файлах или при помощи Memcached - все это включается в админке сайта в два клика. Кроме того, в настройках сайта можно включить опции "Сжимать HTML", "Объединять CSS-файлы", "Объединять JS-файлы", что позволит при большой посещаемости снизить количество запросов и уменьшить объем передаваемых данных.
Также, в контексте воспроизведения и обработки видео, в движке поддерживается механизм мультисерверности, который позволит выполнять обработку и хранение видео файлов на сервере, отличном от того, где находится основной движок - т.е. сам сайт.
Есть ли примеры конфигураций серверов и зафиксированная максимальная посещаемость?
Наши клиенты используют:
- шаред хостинги (англ. shared hosting);
- размещают сайты на виртуальных выделенных серверах;
- арендуют "железные" серверы.
Из шаред хостингов используют практически все известные, включая "Джино" и "Beget". Конечно же практически все из них имеют ограничения и в принципе не предназначены для сайтов большой посещаемости, не говоря уже о возможности конвертации и хранения на них. Максимальная известная нам посещаемость на подобных хостингах порядка 10 000 уникальных посетителей в сутки. Вероятно это цифра может быть и большей.
Виртуальные выделенные серверы сравнивать сложно и объединяет их в один тип лишь определение. Такой сервер может превосходить по производительности даже "железный" сервер. Все будет зависеть от типа виртуализации, количества нод (виртуальных машин) и общей нагрузки. Максимальная известная нам посещаемость на подобных серверах, где сайты наполнялись парсингом с других видеосайтов - порядка 40 000 уникальных посетителей в сутки.
Железные - выделенные серверы (англ. dedicated server) обычно покупают большой мощности. Из известных нам конфигураций - это сервер на базе процессора Xeon, с 48 Гб оперативной памяти, raid массивом на 10 sata дисков и гигабитным каналом. На нем уже сайт с конвертацией и раздачей видео с самого сервера, при чем с того же, где и основной сайт. Так вот известная нам посещаемость на нем это порядка 200 000 уникальных посетителей в сутки при загрузки сервера практически на 100%, т.е. в пиковые часы бывал LA больше единицы.
Важно отметить, что все вышеприведенные данные очень субъективны и при прочих равных условиях могут отличаться.
Выводы
InstantVideo выдерживает большую нагрузку. Со стороны движка сделано все возможное, чтобы страницы рендерились максимально быстро и посетитель не ушел с вашего сайта.
Дальше все будет зависеть от вашего сервера (или группы серверов) и профессионализма системного администратора, его или их обслуживающего.