Чорна п'ятниця: як підготувати сервер
16:21, 08.11.2022
На території Європи та США Чорна п'ятниця – один із найприбутковіших сезонів знижок. За даними Adobe Experience Cloud, у 2022 році обсяги продажів досягнуть $209,7 млрд. На ринку США найвищий прибуток отримають виробники електроніки ($49.8 млрд), друге місце посяде одяг ($40.7 млрд). При цьому більшість продажів очікується у сфері e-commerce, оскільки за останні роки інтернет-торгівля демонструє стабільне зростання з року в рік.
На практиці це означає, що серверам інтернет-магазинів і торгових майданчиків доведеться зіткнутися з напливом покупців. Це, звичайно ж, спричинить збільшення навантаження. І якщо не хочете залишитися в період Чорної п'ятниці на узбіччі, рекомендуємо серйозно підійти до підготовки заздалегідь. У цій статті розповімо, як підготувати сервер до напливу покупців.
Складаємо прогноз щодо навантаження
Навантажувальне тестування – перше, що необхідно зробити. Такий стрес-тест дасть змогу оцінити можливості поточного сервера в плані обробки вхідних запитів. Для навантажувального тестування існує безліч різних інструментів – платних і безкоштовних. Ми відзначимо найбільш універсальні та популярні рішення:
- Apache JMeter. Безкоштовний інструмент з відкритим вихідним кодом, основна функція якого – тестування гранично допустимих навантажень на сервер. Гарний тим, що доступний на будь-яких платформах – за роки розробки команда зуміла адаптувати його під усі наявні операційні системи. Універсальність і гнучкість Apache JMeter обумовлені ще й тим фактом, що працювати інструмент може як у графічній оболонці, так і через консоль. Тут, до речі, одна з найкращих IDE, яку можна використовувати для написання і налагодження тестів продуктивності.
- Locust. Простий, легкий і зручний інструмент, що дає змогу визначити час відгуку та кількість користувачів, які може витримати сервер одночасно. Розробники реалізували цікаву можливість створення власних тестових сценаріїв з використанням Python. Між іншим, підходить і для тестування різних API.
- Artillery. Маловідомий, але дуже хороший сервіс для імітації навантаження на сервер у кілька тисяч користувачів одночасно. Дає змогу оцінити такі показники, як затримки, запити за секунду, середній час відгуку, пропускна здатність сервера. Загалом, вельми універсальний.
Щоб грамотно спрогнозувати передбачуване навантаження на ваш сайт у Чорну п'ятницю, рекомендуємо вивчити минулорічні дані з конверсії. Який був відсотковий стрибок відносно звичайних днів – приблизно такий самий буде і цього разу. З невеликими можливими відхиленнями, звичайно ж.
Якщо з'ясується, що поточних серверних потужностей недостатньо для забезпечення роботи в період знижок, рекомендуємо заздалегідь перейти на потужніший VPS або виділений сервер. Втрачений прибуток може обійтися набагато дорожче, а тарифний план після всіх передноворічних акцій можна змінити назад на дешевший. Таку можливість забезпечує, зокрема, компанія HostZealot.
Оптимізуємо налаштування сервера
Залежно від архітектури інфраструктури вашого інтернет-магазину, у вас є три можливі шляхи масштабування:
- Вертикальне.
- Горизонтальне.
- Залучення архітекторів IT-інфраструктури.
Розглянемо докладніше кожен із варіантів.
Вертикальне масштабування
Цей варіант хороший для тих компаній, які можуть скласти точний прогноз щодо рівня продажів на Чорну п'ятницю. За умови, що поточна архітектура сервісу дає змогу збільшити кількість обслуговуваних сесій просто за рахунок приросту потужностей сервера. Якщо використовуєте спеціалізовану CMS, заточену під E-commerce, проблем точно не виникне.
Якщо ваша інфраструктура розташована в хмарі, то для вертикального масштабування потрібно лише збільшити кількість доступних серверних потужностей. Додати процесорних ядер, збільшити обсяг оперативної пам'яті, розширити дисковий простір. Як правило, будь-який хостинг-провайдер, що поважає себе, такі можливості пропонує.
Користувачам власного фізичного сервера доведеться складніше, оскільки необхідно буде закупити нове, потужніше залізо і замінити ним старе. Тільки так можна буде збільшити доступні потужності в рамках вертикального масштабування.
Горизонтальне масштабування
У цьому разі йдеться про приріст потужності за рахунок додавання нових серверів і приєднання їх до вже наявних. Підійде це рішення для систем, які можуть працювати на кластері. Тобто потрібна архітектура, що використовує мережевий балансувальник. Завдяки балансувальнику навантаження рівномірно розподіляється між окремими серверами, які разом утворюють кластер. Об'єднувати можна як фізичні сервери, так і хмарні – принципового значення не має.
В окремих випадках і зовсім застосовуються гібридні рішення, коли частина потужностей розташована в хмарі, а частина є фізичними серверами. У таких випадках, як правило, на фізичний сервер розподіляється постійне навантаження, а хмара виконує допоміжну функцію.
З горизонтальним масштабуванням фізичних серверів усе дуже просто: щойно бачите, що поточних потужностей стає недостатньо, необхідно лише закупити додаткові серверні стійки та під'єднати їх до поточної інфраструктури.
Залучення архітекторів IT-інфраструктури
Може бути й таке, що поточна серверна архітектура не дасть вам змоги отримати відчутну вигоду від вертикального або горизонтального масштабування. У цьому випадку рекомендується залучити фахівця, який проаналізує її та підготує ефективний план з масштабування потужностей і підготовки їх до високих навантажень.
Крім іншого, такий фахівець може:
- забезпечити захист сервера від DDoS-атак;
- прискорити завантаження контенту завдяки оптимізації налаштувань сервера, скриптів і конфігураційних файлів;
- захистити сервер від будь-яких інших типів загроз, починаючи зі злому і закінчуючи SQL-ін'єкціями.
Якщо залишилися питання, звертайтеся до наших фахівців через Livechat. Ми допоможемо підібрати оптимальний тарифний план, який задовольнить потреби клієнтів у сезон розпродажів на Чорну п'ятницю.