KnigaRead.com/
KnigaRead.com » Книги о бизнесе » Маркетинг, PR, реклама » Роман Овчинников - Корпоративный веб-сайт на 100%. Требуйте от сайта большего!

Роман Овчинников - Корпоративный веб-сайт на 100%. Требуйте от сайта большего!

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Роман Овчинников, "Корпоративный веб-сайт на 100%. Требуйте от сайта большего!" бесплатно, без регистрации.
Перейти на страницу:

Принято выделять два основных направления масштабирования:

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

Вертикальное масштабирование – увеличение производительности каждого компонента системы c целью повышения ее общей производительности

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

Архитектура серверов

Более 95 % корпоративных сайтов могут качественно функционировать на одном выделенном сервере (или даже виртуальном хостинге ).

Такой сервер способен обслуживать 10 000–100 000 загрузок страниц в сутки, что соответствует 3000-50 000 уникальным пользователям (количество зависит от мощности сервера, используемой системы управления контентом, количества страниц, качества конфигурирования системного программного обеспечения, структуры и содержания сайта).

Около 5 % самых посещаемых сайтов (10 000 и более пользователей в сутки) не могут качественно функционировать на одном выделенном сервере, для их размещения требуется использовать минимум два сервера.

В этом случае различные уровни системы (СУБД, frontend, backend) распределяют по разным серверам. Наиболее эффективное и распространенное решение – отдельный сервер СУБД и отдельный для frontend + backend.

Если позволяет программная архитектура, frontend и backend могут быть разделены на отдельные машины. За счет такого распределения уровней системы ее производительность (количество генерируемых страниц в единицу времени) вырастет в 1,5–2,5 раза.

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

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

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

При этом отдельные данные могут храниться и обрабатываться в СУБД одного сервера, а другие данные – в СУБД другого сервера и при выдаче страницы «склеиваться» на уровне сборки страницы из шаблона.

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

Выделенный сервер

Небольшое количество серверов

Многосерверная архитектура

82. Производительность

...

Производительность – это величина, показывающая, какое количество задач способна решать веб-система в единицу времени

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

...

Время генерации 90 % страниц сайта должно быть менее двух секунд, а оставшихся 10 % – менее пяти секунд

Из этих факторов самое критическое значение имеют параметры каналов связи и время генерации страницы сервером.

Время отклика

Пользователи судят о производительности сайта по времени его отклика на их действия (например, по скорости загрузки, времени отправки форм, динамике смены элементов интерфейса и т. д.). Отклик менее чем за 0,1 секунды воспринимается человеком как мгновенный.

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

Модули анализа скорости генерации страниц и отдельных блоков встроены в некоторые системы управления контентом, например, в «1С-Битрикс. Управление сайтом».

Тестирование производительности

Для проверки производительности веб-сайта можно выбрать и провести один или несколько видов тестирования, например:

Нагрузочное тестирование

Стрессовое тестирование

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

...

Проведение тестирований, как правило, берет на себя разработчик веб-сайта

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

Инструменты для тестирования

Для тестирования производительности используются специализированное программное обеспечение. К числу таких приложений относится, например, свободно распространяемый пакет программ Microsoft® Web Application Stress (WAS), доступный для загрузки с сайта www.microsoft.com.

Также могут использоваться такие пакеты, как SPECweb99, WebBench, WebStone, TPC-W, OpenSTA, PureLoad, Apache JMeter, LoadRunner, QALoad и др.

...

Пакет Microsoft® Web Application Stress (WAS), доступен для загрузки с сайта microsoft.com

Важно, чтобы тестирование проводилось в условиях, максимально приближенных к реальным условиям эксплуатации веб-системы (или, как часто говорят, «в боевых условиях»).

Как увеличить производительность

Методы увеличения производительности зависят от выявленных в ходе тестирования «узких мест». Для их ликвидации можно использовать следующие методы:

Увеличение производительности аппаратной платформы (в «узких местах»). Применимо для всех архитектур. Либо в сервере(-ах) меняются компоненты на более производительные, либо целый(-е) сервер(-ы) меняется на другой(-ие), более мощный(-ые). Производительность системы увеличивается пропорционально увеличению производительности сервера(-ов)

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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*