Skip to Content

Обеспечиваем комплексное продвижение и поддержку в сети Интернет с 1997 года: анализируемформализуемрисуемразрабатывемпрограммируемпродвигаемсоздаемрассылаемподдерживаемразмещаемподсказываемремонтируемобучаем.

аудит сайта, конкурентный анализ, предметную область, задачи, ищем решения
пишем ТЗ, структуру БД, пишем бизнес план развития проекта
качественный индивидуальный дизайн сайта, и фирменного стиля, визитки, буклеты
интерфейсы, мобильные версии, улучшаем юзабилити
сложные аналитические системы, алгоритмы, базы данных, интерфесы
комплексное продвижение с оптимальным бюджетом. Гарантия результата. Подбираем маркетинговые инструменты под задачи клиента
имидж компании, бренда, поддерживаем отзывы, гасим негатив, работаем с рекламациями
прямые адресные рассылки по Email SMS информирование
собираем и наполняем сайт контентом, качественные фото, снимаем видео
обеспечиваем хостингом, регистрируем домены, настраиваем серверы
куруглосуточная поддержка VIP клиентов на русском и англиском
скорая помощь для вашего сайта, восставливаем после сбоев, чистка вирусов, устранение ошибок
семинары, трениги, курсы, вебинары и консультации

info@novikov.ua

 

Выбор хостинга по нагрузке веб-проектов

2013-05-28
Отступ первой строки

Следующее характерно для любой современной CMS Серверную часть сайта, можно представить в виде двух составляющих: веб-сервер: статические страницы, графические файлы, исполнение PHP-скриптов, загружаемые файлы; база данных (MySQL, MSSQL или Oracle) для хранения динамической информации: новостей, каталогов товаров, данных статистики, опросов, форумов и т.п. При работе сайта нагрузка распределяется между двумя составляющими не всегда равномерно. Если посетители чаще запрашивают статические страницы, графические файлы, дистрибутивы программы, документацию и тому подобные объекты, то большая часть нагрузки ложиться на сторону веб-сервера. Если на сайте активно работают форумы, каталоги товаров, хранится большой объем данных статистики, часто запрашиваются новости и т.п., то нагрузка может сместиться в сторону базы данных. Использование технологии автокеширования позволяет значительно уменьшить нагрузку на базу данных, но полностью исключить ее обычно не удается для старший редакций продукта. [b]Варианты масштабирования интернет-проектов [/b] Используя разные конфигурации оборудования, можно масштабировать проект в зависимости от нагрузки на сервер. Нагрузка Вариант масштабирования до 5 000 посетителей в сутки Разделяемый хостинг до 150 000 посетителей в сутки Аренда выделенного сервера до 1 000 000 посетителей в сутки Одна машина под веб-сервер и одна машина под базу данных до 1 000 000 посетителей в сутки Несколько машин под веб-сервер и одна машина под базу данных до 1 000 000 посетителей в сутки Одна машина под веб-сервер и несколько под базу данных Oracle свыше 1 000 000 посетителей в сутки Несколько машин под веб-сервер и несколько машин под базу данных Oracle [b]1. Разделяемый хостинг [/b] Разделяемый хостинг является наиболее популярным вариантом размещения сайтов в Интернете, который используют как корпоративные, так и частные заказчики. Описание: на одном компьютере провайдера размещается одновременно несколько десятков, а иногда и сотен проектов; все проекты используют ресурсы одной машины. Основным недостатком является отсутствие гарантий по производительности и общие недостатки разделяемого хостинга. Подробнее Нагрузка: до 3 000 - 5 000 посетителей в сутки; если количество посещений увеличится или ваш сайт выполняет ресурсоемкие операции (частое обновление большого каталога товаров), провайдер предложит вам перейти на выделенный сервер. Особенности: временные замедления работы проекта по причине перегруженности сервера или базы данных. Иногда на работоспособность сайта влияют ограничения времени исполнения скриптов и запросов к базе данных, ограничения процессорного времени, объемов памяти, числа открытых соединений с базой данных и т.п. У проектов до 1000 посетителей в сутки подобные проблемы возникают достаточно редко. [b]Рекомендации: обязательное использование режима автокеширования. [/b] [b]2. Выделенный сервер [/b] Переход на выделенный сервер рассматривается многими владельцами сайтов как неизбежный шаг после того, как сайт, размещенный на разделяемом хостинге, превышает те или иные показатели по нагрузке или объему используемых ресурсов. Кроме того, сайт может быть перенесен на выделенный сервер для повышения общей надежности системы, безопасности данных, а также при использовании специализированных приложений, которые нельзя устанавливать на разделяемом хостинге. Описание: выделенный сервер позволяет использовать все ресурсы компьютера для работы одного сайта. Производительность проектов при переходе на выделенный сервер и при конфигурировании их в соответствии с рекомендациями повышается, зачастую, в десятки раз. Подробнее [b]Нагрузка: до 100 000 – 400 000 посетителей в сутки [/b] Недостатки: относительно высокая цена аренды или необходимость одноразовых вложений в оборудование, в некоторых случаях необходимо привлечение специалистов для администрирования операционной системы и серверного программного обеспечения. Рекомендации: аренда или покупка выделенного сервера подходит для сайтов со средней посещаемостью. Для обеспечения стабильной работы бизнес-приложений и наилучшего масштабирования рекомендуется конфигурирование по курсу «Конфигурирование веб-систем для оптимальной работы». [b]3. Одна машина под веб-сервер и одна машина под базу данных [/b] Если выделенный сервер оказался перегружен вследствие большого потока посетителей и значительной нагрузки, то следующим шагом масштабирования может стать разделение проекта на две машины: один сервер для работы сайта, размещения статических материалов и продукта, а второй - для работы базы данных. Практика показала, что разделение веб-сервера и базы данных даже по двум одинаковым машинам дает прирост производительности в 3-5 раз, т.е. значительно больше чем просто в два раза за счет удвоения мощности оборудования. Этот вариант масштабирования значительно ускоряет время реакции системы на запросы посетителей, увеличивает запас надежности и очень часто используется крупными проектами как основная рабочая конфигурация. Переход на два выделенных сервера может быть обусловлен ростом производительности сайта и повышением требований к способности оборудования обеспечить надлежащее время реакции системы на запрос. Нагрузка: от 10 000 до 1 000 000 посетителей в сутки Недостатки: высокая стоимость аренды или необходимость покупки оборудования, иногда требуется администрирование операционных систем и серверного программного обеспечения. Рекомендации: данный вариант рекомендуется для крупных проектов с высокой активностью аудитории или критическими бизнес-приложениями. [b]4. Несколько машин под веб-сервер и одна машина под базу данных [/b] Данный вариант масштабирования подходит для проектов, которым свойственна неравномерная посещаемость или для которых характерна особенно большая нагрузка на веб-сервер: загрузка музыкальных или других цифровых файлов, большой объем вычислений, сложная бизнес-логика и т.п. Данная конфигурация позволяет планировать мощности проекта таким образом, чтобы выдержать пиковый приток посетителей. Распределение нагрузки между несколькими серверами позволит обеспечить высокую скорость работы со статической информацией на сайте. Описание: Все веб-серверы соединяются с одной базой данных, которая установлена в этой конфигурации на отдельном сервере. Для корректной работы многосерверной конфигурации веб-серверов необходимо обеспечить следующее: распределение нагрузки между веб-серверами; самый простой метод основан на нескольких записях в таблице доменных имен с небольшим TTL для балансирования нагрузки между веб-серверами; основной недостаток метода - невозможность мгновенно без потери сессии пользователя переключить нагрузку с одного сервера на другой; внешний балансирующий прокси-сервер, который принимает соединения пользователей и исполняет запросы на нескольких веб-серверах; данный метод позволяет быстро перемещать нагрузку незаметно для пользователей, но требует выделенного оборудования для прокси сервера; внешнее балансирующий нагрузку маршрутизатор - надежный и профессиональный метод, позволяет незаметно для пользователей перемещать нагрузку между серверами, но требует заметных финансовых вложений в оборудование; объединение PHP-сессий между веб-сайтами если необходимо обеспечить непрерывность работы пользователя между веб-серверами; каталог файлов для хранения PHP-сессий объединяется между серверами файловую систему NFS; PHP-сессии размещаются в базе данных (функция session_set_save_handler); использование сторонних программными продуктами разделение файлов ядра и компонентов «1С-Битрикс: Управление сайтом» между веб-серверами для согласованного обновления веб-сайтов; данную задачу чаще всего решают за счет использование файловой системы NFS или репликации каталогов средствами операционной системы; между сайтами необходимо объединить каталоги /bitrix/, /upload/, /bitrix/components/. Этот вариант масштабирования позволяет построить отказоустойчивую и производительную систему, значительно ускоряет время реакции системы на запросы посетителей при очень больших пиках посещения за счет распределения нагрузки между несколькими веб-серверами. Нагрузка: от 1 000 000 посетителей в сутки; Недостатки: высокая цена, требуется администрирование операционных систем и серверного программного обеспечения; Рекомендации: данный вариант подходит для крупных проектов, с неравномерной динамикой посещений, большим объемом статической информации. [b]5. Одна машина под веб-сервер и несколько под базу данных [/b] Если основная нагрузка создается посетителями при работе с информацией, которая хранится в базе данных, и одного SQL-сервера становится недостаточно для работы проекта, то распределение нагрузки между несколькими SQL-серверами позволит обеспечить высокую скорость ответа базы данных на запросы посетителей. Описание: веб-серверы соединяются с одной базой данных, которая установлена на нескольких физических серверах; Сервер базы данных обеспечивает параллельную обработку запросов без внесения изменений в бизнес-приложение. Наиболее часто для создания кластера базы данных используется Oracle или MSSQL. Но последнии редакции MySQL 5 позволяют создавать кластер базы данных. Этот вариант масштабирования значительно увеличивает потенциал системы при обработке больших объемов данных или большого числа запросов при основной нагрузке на базу данных за счет распределения нагрузки между несколькими физическими серверами базы данных. Кластер дает возможность вводить и выводить из работы один из серверов, проводить на нем профилактические работы или увеличивать число серверов без отключения приложения. Технологии масштабирования Oracle и MSSQL позволяют неограниченно расширять массив серверов, параллельно обрабатывающих SQL-запросы и правильно синхронизирующих обработку транзакций. Нагрузка: от 1 000 000 посетителей в сутки; Недостатки: требуется администрирование операционных систем, серверного программного обеспечения и кластерных систем Oracle; Рекомендации: данный вариант подходит для крупных проектов с высокими требованиями по отказоустойчивости, большим объемом информации и значительной нагрузкой на базу данных; [b]6. Несколько машин под веб-сервер и несколько машин под базу данных [/b] Если вы исчерпали возможности предыдущих конфигураций для масштабирования, то единственно возможным вариантом остается создание пула серверов, которые будут обслуживать веб-серверы и кластер серверов для работы базы данных. Описание: распределение работы базы данных выполняется на основе базы данных; технологии масштабирования Oracle или MSSQL позволяют неограниченно расширять массив серверов, параллельно обрабатывающих SQL-запросы и при этом правильно синхронизирующих обработку транзакций и не переделывать логику бизнес-приложения. Пул веб-серверов обеспечивает параллельную обработку запросов, исполнение логики продукта, непрерывное представление статического контента, графики, загружаемых дистрибутивов и т.п. Синхронизация контента между несколькими веб-серверами выполняется механизмами репликации операционных систем или разделяемой файловой системой. Каждый из веб-серверов в пуле соединяется с одной базой данных, которая установлена на нескольких физических серверах. SQL сервер обеспечивает параллельную обработку запросов без внесения изменений в бизнес-приложение. Состав машин в пуле веб-серверов и в кластере базы данных можно увеличивать неограниченно, повышая общую производительность комплекса. Нагрузка: свыше 1 000 000 посетителей в сутки; Недостатки: сложная архитектура и сложное администрирование комплекса; Рекомендации: для крупных проектов, с очень большой нагрузкой по всем направлениям ============================================================================== [b]Производительность той или иной CMS теоретически сложно просчитать, можно только измерить опытным путем[/b] Но есть ряд рекомендаций от которых можно оттолкнуться Критическими ресурсами в любом сервере являются [b]процессор[/b] (процессоры) [b]память[/b] [b]жесткий диск[/b] - скорость/запись у всех дисков приблизительно одинакова Если выбирать между разделяемым (виртуальным) сервером и реальным выделеным. Даже если у них общие параметры по памяти и процессорам, жесткий диск имеет свои ограничения по скорости чтения/записи И его разделять еще с кем либо - НЕЖЕЛАТЕЛЬНО [b]ВЫВОД[/b] Пусть сервер будет чуть хуже по параметрам, но[b] выделенный[/b], чем с лучшими параметрами но выиртуальный/разделяемый [b]Расчет требуемой оперативной памяти в зависимости от посещаемости[/b] Например при средней посещаемости в сутки 5000 уников Необходимо учитывать коэффициент запаса х2, т.к. счетчики статистики не учитывают обращения/посещаемость поисковых роботов, сканеров и пр. ботов. Значит в расчет берем 5000 х 2 = 10000 уников Пиковая нагрузка составляет обычно 5-7% от суточной посещаемости ([url=http://www.ivelum.ru/products/frontcontent/performance/]http://www.ivelum.ru/products/frontcontent/performance/[/url]) 10000 х 7% = 700 одновременных соединений В среднем Апач отводит 4 Мегабайта на одно соединение 700 х 4 = 2800 Мегабайт оперативки мимнимум Вывод 4 Гигабайт оперативки с запасом 30% хватит для проекта 5000 уников в день Без учета сложных вычислений и оптимизированной MySQL достаточно одного современного процессора





+38(044) 353-70-09

(050) 837-25-64
(044) 353-70-09
(093) 119-63-11
Как у любой IT компании,
наш основной канал связи
это E-mail:
info@novikov.ua