Допустимая нагрузка на сервер – что это, как измерить и зачем
Если Вы когда-либо пользовались виртуальным хостингом или иным форматом поддержки веб-проектов , вероятно, Вы задавались вопросами что такое нагрузка на сервер, какие причины ее возникновения и как исправить.
Превышение допустимой нагрузки на сервер неизбежно ведет к серьезным, а иногда – продолжительным сбоям в работе сайтов, поэтому в данной статье мы постараемся дать ответы на поставленные выше вопросы и минимизировать риски для Ваших проектов.
Что такое нагрузка на сервер
Начнем с главного – нагрузка на сервер – это процент потребления ресурсов сервера в период выполнения определенных задач. Одни задачи могут создавать нагрузку в 1-2% , другие – потреблять около 80% ресурсов сервера.
Причины и последствия нагрузки на сервер
Сама по себе нагрузка на сервер создается уже тем, что он функционирует в пользу размещенных на нем проектов, в данном случае уместнее говорить именно о допустимой нагрузке на сервер, причинах и последствиях ее превышения. И вот они:
- Резкий рост посещаемости Он может быть органическим, например, период распродаж для интернет-магазина или созданным искусственно – например, в ходе DDoS-атаки , посылающей огромное количество фейковых запросов к сайту.
- Ошибочный или не оптимизированный программный код сайта
«Грязный» код может стать причиной множества проблем, в том числе – превышении нагрузки на сервер, где сайт с таким кодом размещен. Здесь важно проверять каждую деталь еще на этапе разработки и непрерывно оттачивать код уже в процессе работы сайта. Некоторые ошибки Вам могут подсказать технические специалисты Вашего провайдера, ведь именно ошибки в скриптах нередко являются истинной причиной недоступности сайта. Если Вы столкнулись с такой ситуацией, постарайтесь не нервничать, а как можно быстрее исправить работу самостоятельно, либо при помощи профессиональных разработчиков.
Как узнать текущую нагрузку на сервер и что делать, если сайт превышает лимиты
Выяснить, какую нагрузку на сервер создает Ваш проект, можно различными способами, но если Вы приблизитесь к критической отметке или перешагнете ее, Ваш провайдер, вероятнее всего, сам вышлет Вам соответствующее уведомление.
В этом случае Вам нужно провести оперативную диагностику всех возможных проблем, приведенных выше.
Если удастся оперативно их устранить – сбой в работе не будет продолжительным и не станет причиной тяжелых последствий.
Однако если Вы замечаете, что Ваши проекты создают критическую нагрузку регулярно, возможно, решение проблемы – это размещение сайтов на виртуальном сервере.
Так Вы получаете в свое распоряжение все ресурсы виртуальной машины и легко сможете справиться со скачками трафика или другими сложностями, вызванными нехваткой технических мощностей.
masterhost предлагает Вам узнать больше о наших VPS-решениях и условиях их предоставления.
А если у Вас остались вопросы – наши специалисты будут рады помочь по телефону +7 (495) 772-97-20 и электронной почте info@masterhost.ru.
Причины и способы борьбы с чрезмерной нагрузкой на сервер
Бесперебойная работа приложений и сервисов напрямую зависит от нагрузки, оказываемой на виртуальный сервер (VPS). Сбои в работе VPS могут вызвать разные причины — от резко возросшей посещаемости до атак киберпреступников.
Снижение эффективности работы ресурсов на VPS далеко не всегда означают, что нужно обязательно решать вопрос нагрузки радикально, покупая более мощную виртуальную машину. Чтобы решить проблему, необходимо выяснить основные причины перегрузки виртуального сервера, а исправить их зачастую можно и без дополнительных трат.
Как протестировать нагрузку на VPS и уменьшить ее самостоятельно расскажем в данной статье.
Что такое нагрузка на VPS
Нагрузка на сервер — количественная оценка характеристик ресурсов хостинга, расходуемых во время выполнения текущих задач. Иными словами, это процент загрузки ресурсов сервера — процессора (CPU), оперативной памяти (RAM или ОЗУ) и дискового пространства.
Виды нагрузки
- На базу данных.
Чем вызвано: тяжелые SQL-запросы, отсутствие оптимизации и некорректные настройки конфигурационного файла. - Навеб-сервер.
Чем вызвано: увеличение посещаемости интернет-ресурса, находящегося на VDS.
Мониторинг виртуального сервера
Мониторинг VPS — систематический сбор и обработка информации о степени загрузки с разных учетных записей ресурсов виртуального сервера. Мониторинг позволяет предотвратить развитие негативных последствий сбоев работы сервера ещё на начальном этапе. Для этого чаще всего нужно либо оптимизировать аккаунт, создающий повышенную нагрузку, либо расширить его ресурсную базу.
Как проводить мониторинг VPS
Для анализа сетевой активности используется утилита atop . Она записывается в лог событий, в котором можно найти процесс, приводящий к перегрузке сервера.
В Linux Ubuntu утилиту можно установить, воспользовавшись командой из терминала:
sudo apt-get install atop
После инсталляции требуется запустить команду:
sudo atop 1
В терминале отобразится информация, разделенная на две секции. В первой — основная (загруженность CPU, RAM и диска), а во второй — данные о выбранном процессе.
Посмотреть нагрузку на сервер можно при помощи команды:
sudo atop –r
Использование дисковых ресурсов сервера можно увидеть в строке DSK («busy» — процентное соотношение текущего потребления). Если последнее значение эквивалентно 100%, это означает, что проблема заключается в операциях ввода/вывода или использовании самого VDS.
Посмотреть сетевую активность можно при помощи команды:
sudo top
Она выводит список всех процессов, работающих в системе, в режиме реального времени. Обновление экрана происходит каждые 3-4 секунды. В первых строках отображается информация о системе, а ниже — список всех процессов, который упорядочен по убыванию.
Программы для диагностики
Диагностика применяется для выявления проблемного программного обеспечения, вызывающего высокую нагрузку на сервер. Существует много сервисов, позволяющих выполнить этот анализ. Их условно можно классифицировать на две категории.
- Простые — показывают время загрузки веб-страницы.
- Сложные — могут имитировать подключения из разных мест и производить DDoS-атаку на тестируемое приложение.
Список онлайн-сервисов мониторинга VDS
- Locust. Масштабируемый инструмент для нагрузочного тестирования, написанный на Python. Отличный способ оценить производительность серверной части ресурса.
- Host-Tracker. Позволяет выполнить тестирование сервера на нагрузку, одновременно подключаясь из 90 точек со всего земного шара.
- OpManager. Бесплатная версия сервиса позволяет отслеживать 3 сетевых устройства. С его помощью можно осуществлять проактивный мониторинг состояния сети, серверов, маршрутизаторов и коммутаторов.
- WebLOAD. Универсальный сервис для мониторинга позволяет проверить все страницы приложения и вывести время загрузки каждой из них. Пользователи на этом ресурсе могут заказать платную оптимизацию сайта.
- LoadImpact. Выполняет тест нагрузки на сервер, используя одновременно 50 подключений, которые открывают до 20 страниц. Отчет отображается в графическом виде.
- LoadNinja. Быстрое тестирование нагрузки на сервер, основанное не на виртуальной эмуляции, а на реальном браузере.
Причины перегрузки
Чтобы эффективно снизить нагрузку на VPS, требуется разобраться в причинах ее возникновения. Среди наиболее частых причин эксперты называют резкое увеличение количества посетителей, отсутствие оптимизации программ и СУБД, а также DDoS-атаки сервера.
Увеличение количества посетителей
При постоянном продвижении интернет-ресурса количество посетителей растет, часто приводя к перегрузке VDS. Чтобы этого избежать, нужно выполнять диагностику и принимать меры по сохранению его работоспособности.
Решение № 1 — модернизация
Когда оптимизировать нечего или нет времени заниматься настройкой VDS, нужно выполнить апгрейд последнего. Происходит это при значительном увеличении числа посетителей.
Это является еще одной причиной, по которой нужно использовать VPS. Для решения проблемы достаточно сменить тарифный план, воспользовавшись более мощным виртуальным сервером.
Нужен надёжный виртуальные сервер с возможностью масштабирования и защитой от DDоS-атак и круглосуточной техподдержкой? Выбирайте VPS от Eternalhost!
Решение № 2 — оптимизация работы сервера
Снижаем нагрузку на VDS, используя правильные настройки кеширования для Apache и Nginx при помощи правки конфигурационного файла.
Для Apache
Директивы (инструкции), которые управляют кешем Apache, можно прописать в файл виртуального хоста или .htaccess (файл дополнительной конфигурации) проекта. Оптимальным является второй вариант.
Для этого нужно открыть файл .htaccess и внести строки:
Header set Cache-Control "max-age=2592000"
Далее требуется активировать Expires-модуль при помощи команды sudo a2enmod expires и перезапустить web-сервер: sudo service apache2 restart .
После этого следует включить модуль, указав:
ExpiresActive On
Для Nginx
Настройка кеширования для web-сервера Nginx заключается в редактировании конфигурационного файла. К его коду нужно добавить:
location ~* .(jpg|jpeg|gif|png|ico|css|swf|flv|doc|docx)$ < root /var/www/site.ru; >
Если создать файл «cache.conf» в директории «/etc/nginx/conf.d/», то можно управлять кешированием. В файле указываются параметры, описанные ниже.
- Директория кеша: proxy_cache_path /var/cache/nginx.
- Уровень вложенности каталогов: levels=1:2:3.
- Базовый размер кеша в Мб: keys_zone=static_cache:100m.
- Время, через которое происходит удаление кеша (мин): inactive=120m.
- Указание максимального размера данных, подлежащих кешированию в Мб: max_size=500M.
- Количество обращений к серверу: proxy_cache_min_uses 1.
После настройки файла, сервер нужно перезапустить, воспользовавшись командой:
sudo service nginx restart
Оптимизация программ, сервисов и СУБД
Скорость работы VDS зависит от настройки скриптового языка PHP, который генерирует контент для приложения, осуществляет подключение и работу с СУБД.
Решение № 1 — настройка скриптового языка PHP
Снижение нагрузки на VDS достигается при помощи грамотно настроенного PHP. Для его настройки нужно найти файл «php.ini», воспользовавшись поиском файлов на сервере. Далее его следует скачать, открыть в любом редакторе и изменить параметры, указанные ниже.
always_populate_raw_post_data = Off output_buffering = On ; variables_order ; Default Value: "EGPCS" ; Development Value: "GPCS" ; Production Value: "GPCS" date.timezone = Europe/Moscow opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.enable_cli=0
После этого необходимо перезапустить сервер, воспользовавшись командой из консоли sudo service apache2 restart или sudo service php5-frm restart.
Решение № 2 — оптимизация MySQL
Для оптимизации MySQL требуется открыть файл «my.conf», который находится в директории с установленной СУБД «/etc/». Затем параметры нужно изменить таким образом:
log-slow-queries=/var/log/mariadb/slow_queries.log long_query_time=5 log-queries-not-using-indexes=1 query_cache_size=0 query_cache_type=0 query_cache_limit=1M tmp_table_size=16M max_heap_table_size=16M thread_cache_size=16 skip-name-resolve=1 innodb_buffer_pool_size=800M innodb_log_file_size=200M
После внесения изменений файл требуется сохранить, а в терминале запустить движок СУБД MariaDB при помощи команды «sudo systemctl start mariadb».
Решение № 3 — ограничение индексации
В любом веб-приложении есть страницы, которые не нужно индексировать. Если их исключить, то нагрузка на VDS существенно снизится.
Например, статьи, не содержащие полезную информацию, можно смело скрывать от роботов поисковых систем при помощи текстового файла «robots.txt».
Пример robots.txt
User-agent: * Disallow: /cgi-bin # классика. Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search # поиск Disallow: /author/ # архив автора Disallow: */embed # все встраивания Disallow: */page/ # все виды пагинации Allow: */uploads # открываем uploads Allow: /*/*.js # внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-*.svg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.pdf # файлы в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php #Disallow: /wp/ # когда WP установлен в подкаталог wp Sitemap: http://example.com/sitemap.xml Sitemap: http://example.com/sitemap2.xml # еще один файл #Sitemap: http://example.com/sitemap.xml.gz # сжатая версия (.gz) # Версия кода: 1.1 # Не забудьте поменять `site.ru` на ваш сайт.
Решение № 4 — сжатие изображений
Для оптимизации ресурса любые графические файлы следует сжимать специальными сервисами. Это позволяет увеличить скорость открытия веб-страниц и уменьшить нагрузку на VDS. Подробнее об этом можно почитать в отдельной статье.
Решение № 5 — лимиты скачивания
Программы для скачивания файлов существенно нагружают сервер, поскольку в их алгоритме заложена опция кратчайшего обхода ресурса. Ограничение на скорость устанавливается экспериментальным путем.
Решение № 6 — ошибки в программном коде
Неверный код, на котором написано web-приложение, является основной причиной нагрузки на VDS. За помощью требуется обратиться к программисту или найти ошибки самостоятельно.
Решение № 7 — использование легкой CMS
Нагрузка, оказываемая на виртуальный сервер, зависит от CMS, которая на нем установлена. WordPress — универсальное решение, которое рекомендуют специалисты для большинства типов сайтов. Её главные достоинства — простота установки, нетребовательность к ресурсам и стабильность выпускаемых модулей.
Кибератаки
DDoS-атаки киберпреступников могут привести к существенной перегрузке сервера. Основным способом защиты является механизм фильтрации входящего трафика, который обеспечивает хостер.
Заключение
Постоянные мониторинг и диагностика нагрузки на VDS, а также оптимизация программного обеспечения и СУБД способны предотвратить его перегрузку. Если это произошло, то необходимо провести настройку веб-сервера, оптимизировать работу СУБД и настроить PHP.
Рассчитываем нужную производительность сервера
Во-первых, учитывайте те задачи, которые вы сформулировали в самом начале. Чаще всего используются процессоры Intel Xeon, поскольку это надежное железо с множеством конфигураций.
На что ориентироваться при выборе процессора:
- Сколько ядер нужно?
Ядро в процессоре отвечает за скорость обработки параллельных процессов. Максимум их может быть 24. Не стоит бездумно брать самый большой объем. Во-первых, это существенно увеличивает стоимость, а во-вторых, лучше делать упор на частоту ядер, а не на их количество. - Объем памяти для кэша
Эта память отвечает за скорость обработки запросов. Чем она больше, чем быстрее работает процессор. Рекомендуем выбрать память от 8 до 16 Мб. - Сокет
Проверьте, что сокет процессора совместим с материнской платой, иначе соединение будет некачественным, и скорость работы снизится. - Тактовая частота
Это количество вычислений, которые процессор может выполнить за 1 секунду. Важный критерий, если ваш ресурс постоянно должен обрабатывать много однотипных задач. - Отвод тепла
Процессор должен быть оснащен современной системой охлаждения, чтобы избежать перегрева.
Итоги
Расчет мощности сервера и выбор подходящего железа — непростая задача, от этого выбора зависит вся дальнейшая работа сайта. Самое главное — сформулировать требования к серверу. На рынке хостинг-провайдеров представлено много вариантов для решения этой задачи: облачные хостинги с высоким уровнем защиты и внимательной техподдержкой. Если у вас небольшой ресурс, рекомендуем выбрать надежную компанию и передать эту ответственность специалистам сервиса. Если же у вас крупный онлайн-портал, которому требуется серьезное обслуживание, лучше задуматься о собственном сервере. В таком случае без помощи сисадмина не обойтись.
Допустимая нагрузка на сервер — что это, как измерить и зачем
Рассказываем, что такое нагрузка на сервер, какие причины ее возникновения и как исправить.
На тарифах виртуального хостинга существуют некоторые ограничения — например, допустимая нагрузка на процессор сервера в день. Это вызвано особенностями размещения аккаунтов. На одном мощном сервере расположены разные сайты, которые делят между собой его ресурсы. Чтобы все сайты работали стабильно, существуют лимиты по нагрузке на сервер, базы данных и использование оперативной памяти.
Чтобы было понятнее, проведем простую аналогию. Представьте себе коммунальную квартиру, в которой живут две семьи. В каждой семье по три человека. Утром все собираются на работу или в школу, и всем для этого нужна ванная комната. Если распределить время поровну — например, по 10 минут, то все успеют по своим делам. Но если кто-то из жителей займет комнату на 20 минут, другой — на 30, то остальные жители квартиры не успеют собраться.
Похожая ситуация возникает с ресурсами сервера. Если один из аккаунтов хостинга будет потреблять 90% процессорных ресурсов, то остальным достанется всего 10%. Чтобы не допустить такой ситуации, существуют лимиты допустимой нагрузки. Они помогают распределить ресурсы равномерно.
Использование ресурсов сервера на виртуальном хостинге
Причины и последствия нагрузки на сервер
По нашему опыту рост нагрузки является следствием одной или нескольких причин:
- резкий рост посещаемости;
- ошибочный или не оптимизированный программный код сайта;
- наличие вредоносного кода на сайте;
- отключенная или некорректная настройка системы кеширования.
При нарушении лимита нагрузки владельцу аккаунта придет предупреждение. В письмах от Reddock приведены показатели сайта по нагрузке и рекомендации по устранению. Если в течение 5 дней ситуация не исправляется, аккаунт блокируют. Это сделано для того, чтобы гарантировать работу всех сайтов, расположенных на одном сервере. После устранения нагрузки работа сайта возобновляется.
Как узнать текущую нагрузку на сервер и что делать, если сайт превышает лимиты
Посмотреть статистику нагрузки на сервер можно в панели управления виртуальным хостингом (инструкция). Если показатели в норме, то можно не беспокоится и проверить данные позже — например, при выгрузке товаров из 1С.
Если показатели близки к пороговой границе, то это сигнал для тревоги — вскоре придет предупреждающее письмо. Уже на этом этапе нужно предпринимать действия для выявления и устранения высокой нагрузки. Для этого можно воспользоваться встроенными в вашу CMS инструментами диагностики, специальными инструментами-профайлерами или провести анализ лог-файлов.
Не всегда есть возможность снизить нагрузку на сервер. Например, если бизнес развивается, количество посетителей сайта растет, товаров становится больше и синхронизация со сторонними сервисами создает высокую нагрузку. В этом случае оптимальным решением будет переход тариф виртуального сервера.
Размещение сайтов на виртуальном сервере — у каждого свои ресурсы
Виртуальный сервер — отличный вариант для нагруженных корпоративный сайтов и интернет-магазинов, которым не хватает ресурсов виртуального хостинга. На одном мощном сервере размещается несколько сайтов, у каждого из которых свои ресурсы — гарантированная оперативная память, дисковое пространство и допустимая нагрузка на сервер.
![]() |
При заказе любого тарифа виртуального сервера RED.Site дарим скидку 50% на первый месяц. Предложение действительно для владельцев тарифов Bitrix до 24 июля 2019 года. |