Корисні інструменти

Що таке вебсервер та як його вибрати

6 minutes

Що таке вебсервер та як його вибрати

Із цієї статті ви дізнаєтеся, що таке вебсервер, як саме він працює, та чому варто зважати на нього під час вибору хостингу для вашого онлайн-проєкту.

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

Вебсервер також може кешувати вміст, щоб пришвидшити відтворення контенту, який запитують найчастіше. Цей процес також відомий як акселерація, або прискорення. І якщо вибрати вебсервер із можливістю налаштування кешу на рівні сервера, то ваш сайт буде завантажуватися для відвідувачів ще швидше. Саме про такі вебсервери ми сьогодні й поговоримо.

Що таке вебсервер

Якщо на сторінці будь-якого сайту ми зайдемо в «Інструменти розробника» (F12 в Google Chrome), то побачимо, що сторінка складається з певної кількості запитів. Щоб опрацювати ці запити, з нашого, клієнтського, боку працює браузер — він запити подає, а з боку сервера працює вебсервер, який, власне, на ці запити відповідає.

Вебсервер — це програмне та апаратне забезпечення, яке використовує протокол HTTP (Hypertext Transfer Protocol) та інші протоколи для відповіді на запити клієнтів, зроблені через браузер.

Основне його завдання — показувати вміст сайту, водночас зберігаючи, обробляючи та доставляючи його сторінки користувачам.

Як працює вебсервер

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

Як працює вебсервер
Як працює вебсервер

Ліворуч зображено клієнтську сторону, або сторону браузера. Праворуч — сторона сервера, де працює вебсервер. Наприклад, ми запитуємо головну сторінку, а вебсервер має відпрацювати й повернути нам те, що очікується.

Всередині вебсерверу в цей момент може відбуватися багато чого. І це «багато чого» можна поділити на легкі (статичні) та важкі (динамічні) запити.

Якщо запит може вирішуватися віддачею якогось простого файлу, наприклад, картинки, його можна назвати статичним. Зі списку файлів, які лежать у директорії ми беремо один конкретний файл і нічого більше не змінюємо. Коли ми отримуємо сторінку, таких статичних запитів може бути дуже багато, включно з картинками, шрифтами, сss-ми, 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. Джерело 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 своїм клієнтам за замовчуванням.

Дата публікації:

26 Тра. 2023

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

IT-маркетолог, творець контенту HostPro, 3 роки перекладає з технічної мови на зрозумілу всім

1 Star2 Stars3 Stars4 Stars5 Stars
Loading...
Середня оцінка: 5/5
Всього голосів: 2
Поділитися:
Twitter