Полезные инструменты

Что такое веб-сервер и как его выбрать

6 минуты

Что такое веб-сервер и как его выбрать

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

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

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

Что такое веб-сервер

Если на странице любого сайта мы зайдем в «Инструменты разработчика» (F12 в Google Chrome), то увидим, что страница состоит из определенного количества запросов. Чтобы обработать эти запросы, с нашей, клиентской, стороны работает браузер – он запросы подает, а со стороны сервера работает веб-сервер, который, собственно, на эти запросы отвечает.

Веб-сервер – это программное и аппаратное обеспечение, которое использует протокол HTTP (Hypertext Transfer Protocol) и другие протоколы для ответа на запросы клиентов, сделанные через браузер.

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

Как работает веб-сервер

Схематически базовую работу веб-сервера можно изобразить так.

Как работает веб-сервер
Как работает веб-сервер

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

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

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

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

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

Чем веб-сервер отличается от сервера

Сервер – это физическое центральное хранилище, где хранится информация и компьютерные программы.

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

Клиент – любое устройство, которое может получить доступ к интернету, например, смартфон, умные часы, ноутбук или ПК, и запрашивать данные с веб-сервера, как правило, с помощью браузера, например, Chrome или Firefox.

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

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

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

Иллюстрация ниже подчеркивает разницу в их архитектуре.

Разница в архитектуре веб-сервера и сервера приложений
Разница в архитектуре веб-сервера и сервера приложений

Какие разновидности веб-серверов бывают

Сегодня есть три самых популярных веб-сервера: Apache, NginX и LiteSpeed.

Apache. Это достаточно известный набор ПО с открытым исходным кодом для создания веб-сайтов и веб-приложений.

Созданный еще в 1995 году, Apache достаточно долгое время доминировал на рынке. Он предустановлен во всех основных дистрибутивах Linux, что всегда облегчало его запуск и работу.

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

Схема работы веб-сервера для сайта Apache
Схема работы веб-сервера для сайта Apache

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

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

Nginx. Появился несколько позже – через 10 лет после выхода Apache и революционно предложил решение «проблемы с 10К» — смог обработать 10 000 одновременных соединений.

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

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

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

Теоретически этот веб-сервер может обрабатывать в четыре раза больше запросов в секунду, поскольку обслуживает только статические файлы. По этой причине его изначально использовали как балансировщик нагрузки или обратный прокси. А уже с развитием ПО и расширением кодовой базы Nginx смог полностью заменить Apache, а не просто работать вместе с веб-сервером.

Схема работы веб-сервера Nginx
Схема работы веб-сервера Nginx

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

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

С LSWS используется также серверный API, который обеспечивает очень хорошую производительность динамического контента. Это изрядно оптимизирует обмен данными между сервером и сторонними приложениями. К тому же LSAPI совместим с PHP, RUBY, PYTHON и имеет открытый исходный код.

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

По результатам тестирования от LiteSpeed Technologies веб-сервер LiteSpeed обрабатывает запросы в 12 раз быстрее Nginx и в 84 раза быстрее Apache.

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

Какой веб-сервер выбрать

На самом деле вопрос с выбором веб-сервера решается довольно просто – вам нужно лишь выбрать компанию, которая предоставляет высокопроизводительный хостинг. Хостинг с чистым Apache сегодня уже вряд ли можно найти. Все провайдеры сейчас используют Apache + Nginx, Ngnix + phpfpm или Litespeed веб-сервер.

Ngnix подойдет для обслуживания только статики, тогда как для миксованного контента лучше будет работать связка Ngnix + php-fpm. А вот LightSpeed – технология с акцентом на масштабируемость и будет более актуальной для крупного корпоративного сектора. Кроме того, если есть возможность на сайт установить плагин Litespeed Cache, то тогда точно надо выбирать веб-сервер Litespeed.

Рассмотрим на примере украинского хостинг-провайдера HostPro.

Большинство их клиентов запускают свои сайты на PHP-приложениях, таких как WordPress или Joomla, а одним из ключевых компонентов LiteSpeed является lsphp – процесс, который обеспечивает соединение PHP-приложений с веб-сервером. LSPHP невероятно эффективно выполняет свою работу, особенно по сравнению с аналогичным процессом на Apache.

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

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

И напоследок несколько полезных результатов тестирования на каждом из трех веб-серверов. Первое – время ответа.

Результаты тестирования времени ответа сервера для веб-серверов LiteSpeed, NginX и Apache
Результаты тестирования времени ответа сервера для веб-серверов LiteSpeed, NginX и Apache. Источник Сhemicloud

Второе – количество запросов.

Результаты тестирования запросов в секунду для веб-серверов LiteSpeed, NginX и Apache
Результаты тестирования запросов в секунду для веб-серверов LiteSpeed, NginX и Apache. Источник Сhemicloud

В завершение

Результаты тестирования сайтов с LiteSpeed говорят сами о себе, но стоит учесть плюсы и минусы других веб-серверов для сайта.

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

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

Дата публикации:

28 Июн. 2023

Диана Гончаренко

IT-маркетолог, создатель контента HostPro, 3 года переводит с технического языка на понятный всем

1 Star2 Stars3 Stars4 Stars5 Stars
Loading...
Средняя оценка: 5/5
Всего голосов: 17

Поделиться:

Facebook Twitter