Рубріки: HighloadТеория

Что такое highload

Игорь Грегорченко

Прежде всего, highload — крайне относительное понятие. Оно никогда не измеряется количеством запросов или скоростью работы сайта, т.к. попросту нет такого понятия, как “средний сайт”. Все сайты специфичны и одинаковое количество запросов может приводить к совершенно разным нагрузкам на разные ресурсы.

Что же такое high load (читается “хайлоад”)? Правильным вопросом будет скорее — когда заканчивается “обычный” проект и начинается highload?

Когда наступает high load?

Наступает этот момент тогда, когда Ваша текущая инфраструктура начинает показывать первые признаки того, что она перестает справляться с нагрузкой. Если у Вас VPS на 128 Мб — для Вас это может быть 10 запросов в секунду. Для кого-то это может быть 10 тысяч запросов. Суть не в них, а в том, существует ли необходимость для масштабирования и оптимизации инфраструктуры.

Если Ваш сайт не справляется с нагрузкой — все, теперь Вы в клубе highload.

Симптомы

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

Хорошие системы мониторинга и отслеживания трендов работы серверов:

Что обычно происходит, когда приближается точка highload:

  • Медленная либо бесконечная загрузка страниц
  • Случайные ошибки
  • Оборванные соединения от Web-сервера
  • Частичная загрузка содержимого (например, нет части картинок)
  • Снижение активности аудитории

Кроме этого, обязательно пользуйтесь системой аналитики для того, чтобы понимать влияние состояния Вашего железа на пользователей:

Что делать в первую очередь?

Прежде всего нужно определить причины проблем. Следует проверить следующее:

Web-сервер

Правильно настроенный Web-сервер позволит существенно разгрузить железо.
Если Вы используете Nginx, убедитесь, что он [p28 правильно настроен]. Если на Вашем сайте есть картинки и прочие файлы, которые никогда не меняются, убедитесь, что Nginx правильно настроен для отдачи файлов.

Если Вы не используете Nginx, советую переходить на него. Согласно статистике Netcraft nginx обслуживал или проксировал 18.16% самых нагруженных сайтов в мае 2014 года.

[p42 Оптимизация клиентской части] позволит сэкономить значительное количество ресурсов и обеспечить высокую скорость работы ресурса для пользователей. Даже, если проблем на сервере нет, сайт может работать значительно быстрее.

MySQL

Наиболее часто проблемы встречаются именно в базах данных. Убедитесь, что [p27 MySQL настроен] под Ваши нужды.

Включите лог медленных запросов в MySQL и используйте инструменты для [p60 его анализа].

PHP

К удивлению, проблемы с производительностью, связанные с PHP, бывают не так часто. Тем не менее, анализ работы приложения (профилирование) позволит определить узкие места. Для профилирования стоит использовать утилиту [p65 xhProf].

Стоит ли готовиться предварительно?

Если Вы работаете над сайтом, который постепенно растет, то рано или поздно Вы перейдете в режим работы highload. Стоит ли делать что-то заранее?

Да.

Прежде всего убедитесь, что все простые вещи, которые можно было сделать, сделаны. На примере базовой оптимизации VPS можно за 10…15 минут получить существенный прирост в производительности.

С первых же дней работы включайте мониторинг. Тут работает правило — чем больше Вы знаете, тем лучше.

Но, ни в коем случае не следует заниматься предварительной оптимизацией. Иногда Вы можете угадать. Но чаще всего Вы рискуете просто потерять время на оптимизацию того, что скорее всего будет существенно изменяться. Лучше сфокусироваться на гибкости системы, что позволит быстро вносить требуемые изменения. Знайте [p7 ошибки, которых следует избегать], и не делайте их своими.

Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023