Какой хостинг подойдёт при высокой посещаемости. Причины превышения допустимой нагрузки на хостинг Хостинг с высокой нагрузкой

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

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

Что же делать при получении такого неприятного сюрприза?

Если хостер сообщает вам о создаваемой «нагрузке на процессор», или «нагрузке на винчестер», требуйте конкретики. Вам должны предоставить если не графики создаваемой нагрузки, то хотя бы точно назвать ее причины. Рассмотрим ряд наиболее часто возникающих проблем.

Нагрузка на CPU при запуске PHP- или Perl-скриптов

В таких случаях хостер не всегда может четко сказать, какой именно скрипт создает проблему, и определить это вам нужно будет самостоятельно. Если вы используете модульную CMS, например Joomla!, Wordpress или Drupal, то причиной может быть некорректная работа отдельного модуля.

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

Нагрузка на CPU и (или) дисковую систему от веб-сервера Apache

Излишняя нагрузка может создаваться веб-сервером Apache при отдаче сайтом большого количества графики и другой статики. Архитектура Apache устроена таким образом, что одним потоком или процессом обрабатывается только один запрос. Соответственно, если на вашем сайте очень много графической информации, то на ее отдачу будет тратиться неоправданно большое число ресурсов процессора и ОЗУ. Существенной также будет и нагрузка на диск сервера.

В этом случае можно использовать веб-сервер Nginx в качестве фронт-енда к Apache. Nginx за счет асинхронной архитектуры позволяет обрабатывать тысячи соединений в рамках одного процесса, и отдает статику гораздо легче и быстрее. Проблема лишь в том, что на многих хостингах в качестве веб-сервера используется только Apache, а связка Nginx+Apaсhe используется довольно редко (). Тем не менее, при переходе на VPS можно настроить данную связку без проблем. Обычно перенос сайтов на VPS с хостинга и настройку необходимого ПО может выполнить ваш хостинг-провайдер даже без дополнительной оплаты.

Избыточное число запросов к сайту

Большое число однотипных запросов к сайту с одного IP или множества IP-адресов (так называемый HTTP-флуд - одна из разновидностей DDoS-атак). Помочь может блокировка проблемных IP в файле.htaccess с помощью директивы «deny from».

Если на хостинге используется только Apache, и отражать проблемные запросы средствами того же Nginx у хостера нет возможности, а атака имеет интенсивный характер, хостер может заблокировать ваш аккаунт на сервере, и попросить перенести сайты на VPS или выделенный сервер.

Если атака возникает в первый раз, то логично обратиться к хостинг-провайдеру за помощью в ее отражении, или хотя бы потребовать разблокировки аккаунта и возможности продолжения работы с хостингом сразу после прекращения атаки. Если такая проблема возникает систематически, то переход на VPS или сервер, и его грамотная настройка для отказоустойчивой работы сайта (например, установка скриптов автоблокировки IP бот-машин на основании анализа логов, установка Nginx в качестве фронт-енда к Apache и фильтрация проблемных запросов на его уровне), действительно имеет смысл.

Существенный рост посещаемости проекта

С развитием сайта рост его посещаемости является закономерным явлением, и рано или поздно сайту действительно может стать тесно на текущем тарифном плане. Это нормально для развивающихся проектов. В большинстве случаев на обычном виртуальном хостинге для динамических сайтов порогом посещаемости является цифра в 2000-4000 уникальных посетителей в сутки.

Если посещаемость вашего сайта близка к этим цифрам, то переход на будет правильным решением, которое положительно скажется на его дальнейшем развитии.

Нагрузка на CPU и дисковую систему со стороны MySQL

Нормальным временем для выполнения запроса к базе данных MySQL считается несколько десятков миллисекунд. Запросы, которые выполняются дольше (особенно более 0,5 секунд) часто создают избыточную нагрузку как на дисковую систему сервера, так и на его процессор. Если хостер предупреждает вас о подобной проблеме, запросите у него логи медленных запросов, и выполните оптимизацию структуры базы данных, а также очистите базу от неактуальной информации.

Интенсивное использование почтового сервиса на хостинге для проведения моментальных массовых рассылок по сотням или тысячам получателей может вызвать существенную нагрузку на сервер. По этой причине, большинство провайдеров устанавливают определенные ограничения на отправку почты - обычно 25-50 писем в час или около 500-1000 писем в сутки. Данное ограничение направлено как на борьбу со спам-рассылками, так и на снижение нагрузки на почтовую подсистему сервера. Для обычной работы с почтой на сайте таких ограничений как правило достаточно, а для массовых рассылок лучше пользоваться почтовым хостингом, сервисами моментальных рассылок, или же приспособить для этой цели VPS.

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

Хостинг-провайдеру выгоднее оказать помощь в решении проблемы и сохранить клиента, чем отказать в предоставлении услуг, при этом не только упустив прибыль, но и подпортив себе репутацию. Если вам не повезло с хостером, и он это не понимает сам - намекните, или же открыто скажите об этом.

Если провайдер предлагает переход на более высокий тариф или же услугу более высокого класса, уточните, что именно это вам даст. Если аргументы действительно весомы, лучше к ним прислушаться. Если аргументы сводятся только к тому, что «так будет лучше во всех отношениях», ищите нового хостинг-провайдера.

Желаем вам как можно меньше проблем в работе с хостингом, и как можно больше успехов в развитии ваших проектов!

Безлимитный и неограниченный хостинг - это наилучший выбор для тех, кто ищет выгодное решение для своих сайтов.

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

SmartApe оказывает техническую поддержку круглосуточно 7 дней в неделю. Наши специалисты службы поддержки всегда готовы вам помочь в технических вопросах, в том числе в переносе ваших сайтов.

Гибкая система тарифов позволяет существенно сэкономить на хостинге. Вы только выбираете период оплаты, тем самым оптимизируя свои затраты. При оплате сразу на продолжительный срок, вы можете надолго забыть о проблемах, связанных с размещением ваших сайтов.

Хостинг без ограничений – выбор динамично развивающихся компаний.

Нужные технологии

PHP 5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1
MySQL 5.5, 5.6, 5.7
Nginx / Apache
phpMyAdmin
Zend Guard / ionCube

Наш хостинг поддерживает все необходимые технологии для размещения большинства используемых на рынке CMS.

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

На нашей платформе отлично будут работать такие популярные CMS как Wordpress, Joomla, Drupal, 1C-Битрикс, UMI.CMS, NetСat и многие др.

Высокая производительность

Мы используем только современное серверное оборудование, способное без проблем выдерживать высокие нагрузки. Также применяем умное разграничение ресурсов между клиентами, благодаря которому проблемы одного клиента не распространяются на другого.

Для хранилища данных сайтов и баз данных MySQL используются несколько отдельных систем c быстрыми дисками SSD. Это позволяет существенно повысить скорость доступа к информации и обеспечить наилучшую производительность MySQL.

Также мы действительно предоставляем полностью безлимитный канал 1 Gbit/s для всех наших клиентов.

Надежный хостинг

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

Наши серверы располагаются в Москве, в одном из лучших дата-центров России - DataPro. Дата-центр TIER III обеспечивает беспрецедентную отказоустойчивость и безопасность инженерной инфраструктуры дата-центра. Это позволяет нам обеспечивать очень высокий уровень доступности сервиса (SLA) наряду с лидерами не только российского хостинга, но и зарубежного.

SmartApe поддерживает все современные технологии и стандарты. У вас не возникнет затруднений при размещении любых сайтов.

Вы можете быть спокойны за сохранность информации. SmartApe - надежный хостинг!

В марте 2016-го я вынужден был переезжать на другой хостинг. До того момента, с 2012 года, я сидел чуть ли ни на первом попавшемся под руку хостинге во время создания сайта — Mainhost. И всем меня устраивал, и техподдержка на уровне, и платил около 100 рублей при 20.000 чел/сутки. Если нагрузка на процессор превышала допустимую норму, то просто списывали несколько рублей за такой день и всё.

Но потом у них поменялась политика, и сказали, что так больше нельзя, в смысле — доплачивать. А ни какой другой тариф у них мой сайт не потянет! Хоть дали время на переезд, сколько попросил. И стал я искать новый дом для сайта, а главными критериями стали – нагрузка на процессор и стоимость.

Какую нагрузку выдерживают хостинги

Самая большая загвоздка — это то, что в тарифах какого угодно хостинга нельзя прочитать, сколько он потянет, а тем более примерить эти цифры для своего сайта. В основном, вообще не пишется ничего на этот счёт. Иногда пишут на каких тарифах сколько «попугаев процессора» тебе полагается. Каждый пишет, что у него очень классный и быстрый хостинг. Но эта информация максимально оторвана от конкретно твоего сайта.

Иногда, даже есть калькулятор, который посчитает тебе нужный тариф, и для меня всегда насчитывали очень дорогой, т.к. большая посещаемость. Но я понимал, что такого быть не может: сейчас плачу 100р, а оказывается меньше 1000р в месяц никак не влезть. Что-то тут не так… Короче, я решил, чтобы узнать потянет ли какой-то хостинг сайт – нужно проверять конкретный сайт на этом хостинге.

Принцип тестирования сайта на других хостингах

Покупать тариф у каждого провайдера просто чтобы его потестировать – не благодарное дело. Поэтому я выбирал только тех, у кого есть тестовый период, в среднем он 2 недели. На каждый тестовый хостинг переносятся файлы и база данных сайта. Я всё делал вручную и довёл процесс до автоматизма. Но можно попросить это сделать службу поддержки, просто так дольше ждать придётся 🙂 На результаты проверки не влияет какая у вас CMS – WordPress, Joomla, DLE или любая другая, главное чтобы хостинг поддерживал такие системы.

Менять NS-сервера на новые НЕ НАДО! Чтобы у себя на компьютере открыть сайт с тестируемого хостинга нужно просто прописать в файле «c:\Windows\System32\drivers\etc\hosts» такую строчку:

IP-адрес домен

Например (я прописываю также свои поддомены):

IP-адрес вашего нового размещения можно узнать из писем после регистрации, в панели управления или спросить в тех. поддержке. Теперь в браузере будет открываться сайт с нового хостинга (если всё заработало), а для обычных посетителей ничего не поменяется, у них сайт будет работать с вашего текущего хостинг-провайдера.

Иногда браузер тупит и не видит что вы прописали новый IP, тогда нужно почистить кэш браузера. На примере Google Chrome покажу как понять, с какого сервера у вас грузится сайт:

  • Нажимаем «F12», внизу появится панель разработчика
  • Обновляем страницу «Ctrl+F5»
  • Переходим на вкладку «Network», кликаем по первой позиции в списке и смотрим направо

Иногда нужно по несколько раз обновить страницу, чтобы там засветился новый IP-адрес. Когда всё заработало, нужно установить программу для тестирования нагрузочной способности. Вообще, это целая наука, а программы такого рода продают за тысячи долларов. Из бесплатных мне ничего не понравилось, либо слишком сложно. Поэтому будем пользоваться тестовым периодом. Скачиваем и устанавливаем программу WAPT.

Это самое понятное, что мне попалось с триальным сроком 1 месяц с возможностью продления ещё на один. Лекарств для подобного софта в сети обнаружено не было.

Принцип работы такой:

  • Программа загружает указанную нами страницу сайта и запоминает все её элементы
  • Отсеиваем все скрипты, стили, картинки со сторонних серверов
  • Просим программу «посетить» эту страницу нужным количеством человек
  • Смотрим как менялась скорость загрузки, количество ошибок и другие параметры

Как проверить нагрузочную способность хостингов

При первом запуске открывается мастер создания первого проекта (у меня всё на английском, но вроде я дал ссылку на русскую версию), на первом шаге нужно выбрать тип нарастания нагрузки:

  • Ramp-up – постепенное,
  • Constant – постоянное,
  • Periodic – периодически меняющаяся.

Выбираем «Ramp-up» и на втором шаге настраиваем его:

  • Количество виртуальных посетителей (users) от 1 до 20,
  • С шагом «1», повышая каждые 10 секунд.

В пробной версии максимальное число users – 20 одновременно . Но этого вполне достаточно для проверок. В финальных отчётах программа пишет общее количество сессий за время теста, и при 20 users их набирается тысячи за 10 минут теста. Т.е., получается, что это подходит для сайтов и со 100 000 чел/сутки, а может и больше, в общем — индивидуально.

При моём тестировании разных хостингов, не каждый выдерживал цифру 20. При этом я брал виртуальный хостинг и один на VPS, но о результатах ниже. На третьем шаге выставляем общую продолжительность теста, пусть будет 10 минут.

После завершения мастера появится окно настроек профиля:

Оставляем по умолчанию и заходим в «Edit options»

Здесь нужно включить запись элементов страницы, таких как картинки, скрипты «.js» и стили «.css». Так мы проверим не только нагрузку на процессор, но и реальную загрузку всех элементов. Два раза «ОК» и мы уже в главном окне, запись включена. Теперь надо вбить адрес страницы для тестирования. Вставляйте ссылку на одну из самых посещаемых страниц, и чтобы на ней были картинки, а не только текст.

На этом шаге ещё могут выскочить окошки установки и соглашения с сертификатами безопасности, на всё соглашайтесь. Когда страница загрузилась и новые элементы в дереве слева перестали добавляться – останавливаем запись кнопкой «Stop Rec» на панели:

Теперь у нас есть проект нашего сайта, но могут появиться и другие ветки, например от счётчиков посещений. Посмотрите и удалите все лишние:

Здесь нужно сделать важную штуку: в списке загружаемых элементов оставить только ресурсы со своего домена, в моём случае «сайт» и мои поддомены. Это нужно для того, чтобы в процессе теста нагрузочной способности не терялось время на загрузку ресурсов с внешних серверов. Как правило, это скрипты счётчиков, реклама, CDN-картинки.

Сохраняемся, в принципе всё готово, все другие параметры по умолчанию. Перед первым запуском нужно запустить проверку теста из панели «Verify Test». Просто со всем соглашаемся. Теперь можно наконец-то запустить сам тест кнопкой «Run Test» на панели. В процессе будут рисоваться графики.

Результаты тестирования некоторых хостеров

Давайте разберём для примера проверку хостера « »:

  • Чёрный график всегда ровный – количество виртуальных посетителей
  • Сиреневый – среднее время загрузки страницы
  • Красный – среднее время загрузки со всеми элементами
  • Жёлтый – сколько раз успел загрузить страницу за 1 секунду

Результаты хорошие, время загрузки небольшое и плавно увеличивается. Перейдём на вкладку «Bandwidth»

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

Следующая вкладка «Errors». Здесь статистика по ошибкам:

Многовато. В идеале ошибок должно быть ноль, но такое редко встречается. Бывает, что по всем графикам красота, а ошибки зашкаливают. Значит просто не получена информация с сервера.

Для сравнения возьмём хостинг «Timeweb»

Результаты плохенькие, время загрузки с элементами страницы – большое! Соответственно, мало страниц в секунду загружается. Ошибки также присутствуют:

А вот провайдер «Appletec»

Тоже так себе, очень нестабильно.

Внимание! Брать мои результаты за основу при выборе хостинга для себя не стоит! Это результаты марта 2016 года!

Хостинг «Link-Host», графики производительности:

Красота, а теперь посмотрим на ошибки:

Примерно 10% всех запросов выполнены с ошибками, то, о чём я чуть выше писал. Вот за счёт этого и красота, такое обхожу стороной. Некоторые хостинги очень разочаруют, например «Netangels» оказался вообще никакущим, страница ошибок:

Для любителей VPS, попробовал я . Хорошая компания с отличной техподдержкой и невысокими ценами. Но на тарифе около 5 баксов мой сайт хуже прошёл тест, чем на виртуальном хостинге за 2-3 бакса:

Объясняется это очень просто: на VPS ваши ресурсы ограничены конкретными значениями, а на виртуалке обычно такого нет. Т.е., грубо говоря, если никто больше не нуждается в ресурсах, то всё – ваше. Но, если нод (сервер), на котором расположен ваш сайт перегружен, то картина будет обратная. И да, у хостеров много нодов, и поэтому кто-то может жаловаться на компанию, а у другого будет всё хорошо, просто их сайты на разных нодах.

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

И, в конце-то концов, нашёл я новый хостинг – Webstix (обновление 2018, хостинг теперь называется ). Результаты:

Я был в шоке, абсолютно левый, случайно попавшийся хостинг показал категорично лучшие результаты в моих тестах. И даже то, что там была новая для меня и подглючивающая панель управления сайтом – VestaCP, я всё-равно туда переехал. Но через месяц панель заменили на мою любимую ISPManager, чему я очень обрадовался 🙂

Не бойтесь переезжать, набейте себе руку развёртыванием сайта у разных хостеров, и этот процесс станет максимально прозрачным. Я знаю, страшно менять NS-сервера на новые. А вдруг в «реале» что-то пойдёт не так? Но есть способ неудачи.

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

К нам в “Ревизиум” часто обращаются владельцы сайтов, у которых возникает проблема с высокой нагрузкой. Ситуация, когда владелец получает от хостера “письмо счастья”, являющееся предвестником блокировки сайта, отнюдь не редкая, с ней может столкнуться абсолютно любой владелец сайта или веб-мастер, поэтому мы решили подробно рассмотреть причины возникновения и варианты решения данной проблемы.

Обычно о превышении нагрузки веб-мастера узнают от своих хостеров, которые строго регламентируют и контролируют процесс потребления процессорного времени и на уровне тарифного плана задают ту допустимую нагрузку, которую может создавать аккаунт (обычно она измеряется в % от некоторого разрешенного значения или в CP/процессорных минутах).

Хостер старается равномерно распределить ресурсы процессора среди всех клиентов сервера. Если чей-то аккаунт хостинга будет “съедать” 90% процессорных ресурсов, то остальным достанется только 10%. Поэтому в подобных случаях владельцу аккаунта, превышающего лимиты, придет предупреждение. А при систематических нарушениях аккаунт блокируется, чтобы не мешать работе других сайтов, расположенных на том же сервере. И это, отнюдь, не попытка “развести” клиента на более дорогой тариф, как думают некоторые веб-мастера, поскольку не хостер виноват в том, что сайту с некоторого времени потребовалось больше ресурсов.

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

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

Внешние факторы

Внешние факторы, создающие высокую нагрузку - это все то, что не зависит от настройки хостинга, работы скриптов и процесса администрирования сайта. Это результат внешних запросов к сайту различными сервисами, ботами или другими сайтами. Факторов достаточно много.

  1. Сканирование сайта на уязвимости, поиск "чувствительных файлов", поиск панели администратора.
    Любой сайт, страницы которого проиндексированы в поисковой системе, может стать “мишенью” для хакеров и ботов, его ежедневно кто-то будет сканировать, искать “дыры”, пытаться взломать. Остановить этот процесс невозможно, но можно ему противодействовать.
    Запросы к сайту, особенно если они выполняются интенсивно и методом POST, потребляют много процессорных ресурсов. Поэтому процесс сканирования сайта внешним сканером выражается в росте нагрузки. Если в результате сканирования злоумышленник обнаружит уязвимость или вариант взлома сайта, то вероятнее всего на сайт он загрузит вредоносный код или совершит какие-то деструктивные действия. Если никаких проблем безопасности в результате сканирования выявлены не будут, то сайт продолжит работать в штатном режиме, а нагрузка вернется к нормальному значению. До следующего сканирования…
  2. Подбор пароля от админ-панели сайта (брутфорс-атака).
    Одной из популярных атак, целью которой является получение административного доступа с помощью перебора популярных комбинаций логинов/паролей администратора, является атака вида «брутфорс». Хакерский бот использует специальный словарь с TOP1000 популярных комбинаций (admin/admin, admin/123456,…) и пробует зайти с ними в административную панель сайта. Сам процесс перебора повышает нагрузку, так как на страницу административной панели идут постоянные обращения, причем запросы выполняются ресурсоемким методом POST.
  3. Массовая регистрация пользователей или массовая отправка спама через незащищенные формы обратной связи.

    Часто на сайтах используются формы обратной связи или формы регистрации пользователей со слабыми механизмами защиты от ботов. Хорошо, если на форме установлена хоть какая-то “капча” из серии “докажи, что ты не бот”. Если сайт попал в базу спаммеров, а «капчи» или другого механизма защиты от “http флуда” нет, то начинается массовая регистрация пользователей со спам-профилями, отправка почты через форму и т.п. Все это создает нагрузку на хостинг, и кроме того, может провоцировать спам-рассылку, за которую хостинг-компания отключает почтовый сервис или блокирует сайт полностью.

    Следует отметить, что в настоящий момент все простые защитные механизмы без труда обходятся современными ботами, поэтому необходимо сразу устанавливать что-то серьезное, например, Google Recaptcha2 .

  4. Индексирование сайта поисковыми ботами.

    Иногда при достаточно большом поисковом индексе (когда в поисковую базу Яндекса и Google попадает большое число страниц), процесс переиндексации может занимать длительное время и создавать большую нагрузку на сервере. Если на вашем сайте всего десяток страниц, вы также можете столкнуться с подобной проблемой, например, если сайт был взломан и на нем размещен дорвей на 50 000 страниц, которые попали в поисковую выдачу. Или поисковый индекс мог заспамить конкурент, который воспользовался ошибками в работе скриптов вашего сайта. Вариантов здесь масса.

  5. Граббинг и скраббинг контента.

    Владельцам уникального контента стоит обеспокоиться проблемой скачивания контента с сайта (скраббинг и граббинг). Этим могут промышлять специальные боты, которые обходят страницы сайта и копируют тексты и картинки, размещенные на сайте, с целью создания клонов. Если процесс сканирования вашего сайта регулярный, а страниц у сайта - много, это может создавать внушительную нагрузку на хостинг.

  6. Импортирование данных (фиды, выгрузка товарных позиций).

    Часто e-commerce ресурсы используют механизм обмена данными с внешними сервисами. Например, из интернет-магазинов может выгружаться список товарных позиций, в них могут загружаться данные из 1С, у новостных сайтов может происходить регулярный экспорт новостных фидов и пр. Если контент не статический, то каждый такой запрос будет создавать высокую нагрузку на сервер.

  7. Использование картинок или ссылок на ваш сайт.
    Одним из неочевидных моментов, создающих нагрузку, может быть размещение ссылки на сайт или использование изображения с сайта на более посещаемом ресурсе. Один из источника проблемы - это так называемый “хабраэффект”, когда сайт не справляется с потоком посетителей с более популярного ресурса. Второй вариант - когда кто-то (или вы сами) разместили на посещаемом блоге (например, в комментариях) картинку со своего сайта, и она загружается у каждого посетителя и создает нагрузку на ваш хостинг. Особенно это может создавать серьезные проблемы в том случае, если картинка генерируется скриптами (например, масштабируется с помощью скриптов timthumb/phpthumb).
  8. Атаки на другие сайты (например, уязвимость в xmlrpc.php).

    Часто сайты, содержашие уязвимости, используются хакерами для проведения атак на другие ресурсы. Иногда для этого злоумышленнику даже не требуется взламывать сайт. Например, с этой проблемой могут столкнуться владельцы не самых свежих версий Wordpress (атака через файл xmlrpc.php). Ваш сайт в данном случае будет выступать промежуточным звеном, а работа скриптов сайта создавать большую нагрузку на сервере.

  9. DDOS-атака
    Если на сайт идет DDOS-атака, то без подключения специальных технических средств, проксирующих трафик (услуга хостинга или сервиса защиты от DDOS), справиться с ней не удастся. Не заметить DDOS достаточно сложно. Из-за того, что на сервер будет создаваться огромная нагрузка, хостер может поступить по-разному: предложить услугу защиты от DDOS, перенести сайт на другой сервере или полностью заблокировать (отключить) сайт. Поэтому для защиты от DDOS желательно иметь заранее заготовленное решение, чтобы при возникновении проблемы оперативно ее решить.
  10. Рост посещаемости

    Если трафик органический, то это самая позитивная причина роста нагрузки. Значит пришло время масштабировать сайт и задуматься об оптимизации скриптов, рассчитанных на более высокую посещаемость.

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

    В результатах анализа следует посмотреть TOP 20 запросов методом POST, TOP 20 запросов методом GET/HEAD, TOP 20 IP адресов по числу хитов, TOP 20 ссылающихся страниц по числу хитов. Все это позволит выявить источник и тип трафика, а также точки входа на сайт или скрипты, которые вызываются чаще всего. Скорее всего они и будут причиной высокой нагрузки.

    Для снижения нагрузки при внешних атаках или интенсивных запросах в большинстве случаев достаточно включить защиту от http флуда (например, классический “куки на клиенте + редирект с проверкой”) или подключить сайт к сервисам проксирования трафика, которые будут блокировать опасные или особо активные запросы, а хорошие и легитимные - пропускать. Кроме того, статический контент (картинки, скрипты и стили) будут отдаваться не с вашего сайта, а с CDN-серверов, что также существенно снизит нагрузку.
    Можно попробовать подключить кэширующий плагин в CMS или кэширующий сервис на хостинге, но в случае внешних факторов, влияющих на нагрузку, это может и не помочь.

Внутренние факторы

Ко внутренним факторам можно отнести все то, что влияет на производительность сайта на уровне скриптов и настроек. То есть то, что поддается контролю со стороны веб-мастера (владельца сайта).

  1. Неоптимизированные скрипты и разросшаяся база данных.
    Из-за неграмотно спроектированной архитектуры веб-приложения или неэффективной реализации скриптов неопытными разработчиками возможен случай, когда простое открытие стартовой страницы или отображение результатов поиска на сайте может серьезно нагружать сервер. А рост объема базы данных (например, увеличение числа товарных позиций) с каждым обновлением сайта будет его все больше замедлять, увеличивая нагрузку на хостинг. Отдельные страницы сайта с большим числом информационных блоков могут отправлять по несколько десятков запросов к базе данных, многократно выполнять одни и те же операции с файлами, а иногда даже блокировать работу других элементов сайта. Мы часто сталкиваемся с подобной проблемой у интернет-магазинов, работающих на старой версии Joomla с плагином Virtuemart. В некоторых случаях при открытии страницы каталога выполняется более 100 запросов к базе данных.
  2. Заражение сайта вирусами
    Взлом и заражение сайта вредоносными скриптами является достаточно частой причиной роста нагрузки. Она увеличивается из-за вирусной активности, возникающей из-за внедрения вредоносных фрагментов в легитимные скрипты сайта, запуска и работы резидентных процессов, а также подключения скриптов к внешним ресурсам в момент открытия любой страницы сайта.
  3. Внешние легитимные подключения к сторонним ресурсам
    Мало кто принимает во внимание нагрузку, которую создают подключения к внешним источникам информации (виджеты, информеры погоды и курса валют, новостные фиды и пр). Часто данные, которые загружаются с других сайтов, не кэшируются локально и в момент открытия страницы каждый раз происходит подключение и загрузка контента с другого сервера. Если по какой-то причине внешний источник перестает быстро отвечать, это повлияет на нагрузку и скорость загрузки основного сайта.
  4. Ошибки в работе скриптов
    При работе скриптов могут возникать ошибки, которые не отображаются посетителям, но записываются в лог веб-сервера или лог php. Если сайт посещаемый или ошибок много, это также может увеличивать нагрузку на хостинг. Чаще всего ошибки начинают генерироваться в момент переключения сайта на более свежую версию PHP, с которой скрипты не совместимы. Или когда обновляются не все компоненты сайта, и возникают конфликты между новым ядром CMS и старыми версиями плагинов.

Для анализа проблемы высокой нагрузки, вызванной внутренними факторами, требуется выполнить проверку сайта на наличие вредоносного кода (например, проверить сайт бесплатным ), и, если вредоносного кода не обнаружено, то выполнить профилирование работы скриптов с помощью модулей xhprof или xdebug .

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

Если же причина проблем в архитектуре сайта или ошибках, то поможет оптимизация сайта силами опытного веб-разработчика. Как одно из запасных решений для второго случая - это установка кэширующего плагина, который в некоторых случаях может снизить потребление процессорных ресурсов (нагрузки на хостинг) и ускорить работу сайта.

Продолжительность

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

Если на графике потребления процессорного времени вы видите разовый скачок, то не стоит волноваться. Он практически незаметен, не влияет на доступность сайта и не мешает “соседям” по хостингу. Хуже, если график длительное время ползет вверх или в течение нескольких дней показывает предельную (или превышающую лимит) загрузку процессора. Что делать в этом случае? Необходимо проводить аудит сайтов на аккаунте так, как это было описано выше, проверяя как внешние, так и внутренние факторы, вызывающие проблемы.

Наши услуги ИБ

Акция «2 по цене 1»

Акция действует до конца месяца.

При подключении услуги "Сайт под наблюдением" для одного сайта, второй на том же аккаунте подключается бесплатно. Последующие сайты на аккаунте - 1500 руб в месяц за каждый сайт.

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

Выбирая лучший хостинг

Отличие кластера от облака?

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

Кластерные решения, как правило, оплачивают помесячно.

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

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

Сравнивая денежные затраты за час работы аналогичных серверов в облаке и в кластере, вы увидите, что кластеры обходятся несколько дешевле. В то же время, хорошо проанализировав общий процент эффективного применения оплачиваемых ресурсов, станет вполне очевидно - в «облаках» он больше.

При подобном хостинге вы платите исключительно за фактическое потребление, в то время как в кластере тарификация распространяется также на простаивающее «железо».

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

Остановимся еще на нескольких особенностях каждого из описываемых хостинг-решений.

Кластеры

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

При подобных обстоятельствах все ресурсы кластера задействованы постоянно поэтому оборудование не простаивает. Таким образом, есть время на масштабирование (повышение количества серверов). Это происходит постепенно - по мере увеличения нагрузки.

Чаще прочих кластер выбирают веб-сервисы, интернет-магазины, бизнес-приложения, соцсети.

«Облака»

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

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

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

Вывод

Разумеется, найдутся противники и сторонники у обоих решений. Тем не менее, раз они существуют, обслуживают большое число проектов, значит являются оправданной дорогой в Сеть. Какой пойти - решать только вам.

Как было уже сказано выше, облачный хостинг в Украине подойдет для периодически высоких нагрузок и не прогнозированного повышения числа посетителей в одно время.

Кластерные решения используются при постоянных высоких нагрузках или прогнозируемом планомерном росте посещаемости.

Ориентируясь на такие очень простые факторы, выбор сделать будет намного быстрее и проще.




Понравилась статья? Поделитесь с друзьями!