Навантажувальне тестування сайту 1С-Бітрікс: методи та кейси

Навантажувальне тестування сайту 1С-Бітрікс Уявіть: інтернет-магазин на Бітрікс запускає рекламну кампанію, і в першу годину приходить 5 000 відвідувачів. Сайт падає через 10 хвилин. Типова ситуація — недостатнє навантажувальне тестування. Без нього кожен ріст трафіку — рулетка. Ми вирішуємо цю п
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Навантажувальне тестування сайту 1С-Бітрікс: методи та кейси
Середній
~2-3 дні

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1017
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

Навантажувальне тестування сайту 1С-Бітрікс

Уявіть: інтернет-магазин на Бітрікс запускає рекламну кампанію, і в першу годину приходить 5 000 відвідувачів. Сайт падає через 10 хвилин. Типова ситуація — недостатнє навантажувальне тестування. Без нього кожен ріст трафіку — рулетка. Ми вирішуємо цю проблему: проводимо тести, виявляємо вузькі місця та гарантуємо, що сайт витримає пік. Понад 10 років досвіду у навантажувальному тестуванні Бітрікс, виконано більше 50 проектів. Середня вартість навантажувального тесту — від 100 000 до 200 000 грн, але економія 500 000 грн від запобігання збоям може перевищувати цю суму.

Навантажувальне тестування (load testing) — це процес перевірки поведінки системи під очікуваним і піковим навантаженням (Wikipedia). Для Бітрікс це особливо важливо через особливості архітектури, такі як торговий каталог та інфоблоки. Оптимізація Бітрікс під навантаженням включає налаштування кешування та SQL-індексів для підвищення пропускної здатності.

Як підготувати сайт Бітрікс до навантажувального тестування?

Перед запуском тестів переконайтеся, що базова оптимізація виконана: SQL-індекси, кешування та OPcache. Тестувати неоптимізований сайт — безглуздо (отримаєте worst case, а не реальну картину). Ми починаємо з аудиту конфігурації сервера: версії PHP та MySQL, налаштування кешування на Redis, перевірка сесій та файлового кешу. Redis швидше файлового кеша в 10 разів при високому навантаженні, що зменшує затримки. Для моніторингу сервера Бітрікс використовуйте Prometheus та Grafana.

Які інструменти обрати для тестування Бітрікс?

Основні інструменти — Apache JMeter та k6. JMeter багатофункціональний, з GUI, підтримує сценарії з авторизацією, кошиком та AJAX. k6 — сучасний, сценарії на JavaScript, легко вбудовується в DevOps. Порівняння: JMeter кращий у складних сценаріях (наприклад, з CSRF-токенами), але k6 простіше інтегрувати в CI/CD. Для вибору варто оцінити обсяг тестів та інфраструктуру.

Приклад сценарію на k6 для інтернет-магазину:

import http from 'k6/http'; import { check, sleep } from 'k6'; export const options = { stages: [ { duration: '2m', target: 50 }, { duration: '5m', target: 50 }, { duration: '2m', target: 200 }, { duration: '5m', target: 200 }, { duration: '2m', target: 0 }, ], thresholds: { http_req_duration: ['p(95)<2000'], http_req_failed: ['rate<0.01'], }, }; export default function() { const res = http.get('https://yourshop.ru/catalog/'); check(res, { 'status 200': (r) => r.status === 200 }); sleep(Math.random() * 3 + 1); } 

Що тестуємо

Повний цикл включає чотири типи тестів:

  • Навантажувальний тест (Load Test) — поступове нарощування до очікуваного піку для пошуку точки деградації.
  • Стрес-тест (Stress Test) — навантаження вище максимуму для перевірки відновлення.
  • Spike Test — різкий стрибок (імітація вірусного посту).
  • Soak Test — тривале навантаження для виявлення витоків пам'яті.
Як провести навантажувальне тестування за 5 кроків 1. Складіть сценарій на основі аналітики відвідуваності та бізнес-метрик. 2. Налаштуйте інструмент (JMeter/k6) та запустіть базовий тест. 3. Організуйте моніторинг сервера (Prometheus + Grafana). 4. Запустіть повний цикл тестів — load, stress, spike, soak. 5. Аналізуйте результати, оптимізуйте та повторіть для підтвердження.

Сценарії для Бітрікс-магазину

Реалістичний сценарій навантажує типовий шлях користувача:

40% — перегляд сторінок каталогу 20% — пошук 15% — картки товарів 10% — додавання до кошика 8% — авторизація та особистий кабінет 7% — оформлення замовлення 

Додавання до кошика через /bitrix/tools/sale_basket.php — AJAX з CSRF-токеном. JMeter або k6 мають витягувати його зі сторінки та передавати в POST.

Моніторинг під час тесту

Без моніторингу сервера тест неповноцінний. Ми використовуємо Prometheus + node_exporter + Grafana для збору метрик в реальному часі. Ключові точки:

  • PHP-FPM: pm.status_path = /fpm-status — якщо active processes = max_children, воркери вичерпані.
  • MySQL: SHOW PROCESSLIST — блокування та slow queries, важливо враховувати ізоляцію транзакцій.
  • Бітрікс: панель продуктивності під навантаженням.
  • Системні метрики: CPU, RAM, disk I/O.

Типові вузькі місця Бітрікс під навантаженням

PHP-FPM вичерпує воркери. При pm.max_children = 20 — 20 одночасних PHP-запитів. Рішення: збільшити max_children з урахуванням RAM (кожен воркер 50–150 МБ) або оптимізувати час відповіді.

MySQL: занадто багато з'єднань. 100 воркерів × 3 сайтів = 300 з'єднань. При max_connections = 151 — помилки. ProxySQL мультиплексує з'єднання.

Файловий кеш під навантаженням. При 200 користувачах — блокування. Перехід на Redis усуває проблему.

Сесії в файлах. Аналогічна проблема — Redis-сесії стабільніші.

Що входить у роботу (під ключ)

  • Складання реалістичних сценаріїв на основі аналітики
  • Налаштування інструментів (JMeter/k6) та моніторингу
  • Проведення 4 типів тестів
  • Аналіз результатів з графіками та рекомендаціями
  • Допомога в оптимізації (кешування, SQL, конфігурація)
  • Фінальний повторний тест для підтвердження покращень
  • Термін виконання: за 1 тиждень

Оцінимо ваш проект — пишіть нам!

Як інтерпретувати результати?

Метрика Добре Допустимо Погано
p95 часу відповіді < 1 с 1–3 с > 3 с
Помилки (5xx) 0% < 0.1% > 1%
CPU сервера < 50% 50–80% > 80%
PHP-FPM активні / max < 60% 60–85% > 90%

Терміни

Завдання Термін
Складання сценаріїв + налаштування інструментів 1–2 дні
Базовий навантажувальний тест + аналіз 1 день
Налаштування моніторингу 1 день
Ітерація: оптимізація + повторний тест 2–3 дні
Повний цикл (4 тести + звіт) 1 тиждень

Також можливе тестування Бітрікс24. Хочете бути впевнені в стабільності сайту? Зв'яжіться з нами — ми проведемо навантажувальне тестування та надамо детальний звіт з рекомендаціями. Замовте тест зараз.