Статьи

1С-Бітрікс - Продуктивність сайту, тестування навантаження сайту

  1. Тестування навантаження
  2. Результати тестування
  3. Умови та сценарії тестування
  4. Тестовий інтернет-магазин:
  5. Сценарії навантаження:
  6. Висновки за результатами
  7. Результати тестування продемонстрували, що:
  8. Думки партнерів і експертів
  9. Попередні навантажувальні тести
  10. Масштабування інтернет-проектів

Тестування навантаження

Тестування навантаження

Цілі тестування 2017


Для демонстрації можливості платформи 1С-Бітрікс працювати з великим числом відвідувачів і масштабироваться під зростаюче навантаження, ми проводили навантажувальні тести в 2007 , 2010 і 2015 роках, кожен раз використовуючи нові можливості платформи для продуктивності та відмовостійкості.
Ми прийняли рішення провести нове повномасштабне тестування навантаження ecommerce-рішення на базі «1С-Бітрікс: Enterprise» версії 17, в якому продемонструвати високі добові показники продуктивності, і малого часу відгуку, із застосуванням веб-кластера з 4х серверів і технології «Композитний сайт».
Головною умовою нового тестування було максимальну схожість тестового стенда і реального великого інтернет-магазину, а саме:

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

Результати тестування


Обробляючи навантаження в середньому 718 RPS (запитів в секунду), інтернет-магазин зберігав стабільну роботу, і продовжував забезпечувати швидкий час відгуку навіть на складних призначених для користувача сценаріях.

Тестування навантаження виконувалося спільно з нашими партнерами:
Тестування навантаження виконувалося спільно з нашими партнерами:   компанія   «Ленвендо» компанія «Ленвендо». Золотий сертифікований партнер 1С-Бітрікс з 2005 року до компетенції «Великі корпоративні впровадження». Основна спеціалізація Ленвендо розробка і підтримки 24/7 великих і високонавантажених проектів - лідерів російського ecommerce. За час роботи, фахівцями Ленвендо накопичений великий досвід проведення навантажувальних тестів для своїх клієнтів. Фахівці Ленвендо всебічно брали участь в підготовці методології тестування, а також в аналізі отриманих результатів.
компанія Selectel . Найбільший IaaS-провайдер в Росії, сертифікований хостинг-партнер 1С-Бітрікс. Люб'язно надали нам надійне і продуктивне обладнання для проведення тестування.

Умови та сценарії тестування

Серверна архітектура:

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

В якості серверної операційної системи ми використовували ОС Linux CentOS 7.1 з пакетом 1С-Бітрікс: Віртуальна машина 7.1 . Це віртуальний сервер, повністю настроєний, протестований і адаптований для оптимальної роботи як з продуктами «1С-Бітрікс», так і з будь-якими PHP-додатками.

Версії серверного ПО: php 7.0.20, apache / 2.2.15, nginx 1.12.1, mysql 5.7.18-15-log, memcached 1.5.1, sphinx 2.1.3-1.


Розподіл навантаження на базу даних MySQL і сервера Memcached було виконано за допомогою стандартного модуля Веб-кластер , А для балансування навантаження між серверами використовували Nginx. Кожна нода веб-кластера працює зі своїм сервером Memcache через сокет, а модуль «Веб-кластер» забезпечує очистку ключів кеша при видаленні на всіх серверах. Така схема забезпечує максимальну продуктивність:

Також використовувалася запатентована технологія «1С-Бітрікс: Композитний сайт» , Що дозволяє істотно прискорити швидкість завантаження сторінок відвідувачем. Її ефективність була продемонстрована в ході попереднього тестування в 2015 році.

Тестовий інтернет-магазин:

В якості тестових даних ми використовували вільно розповсюджуваний каталог компанії Best Buy , Що включає близько 1,8 млн. Товарних позицій, понад 10 тисяч категорій. Крім того, в тестовому стенді ми емулюватися Мультирегіональні ecommerce-проект, додавши 100 віртуальних регіонів, в яких кожне торгове пропозицію в каталозі мало свою ціну і наявність. Сценарії навантаження обов'язково включали в себе вибір відвідувачем регіону.
Вихідні параметри тестового стенда:
Регіонів 100 (унікальні ціни і залишки товарів) Товарів і торгових пропозицій 3 429 102 Цен (b_catalog_product_price) 173 293 881 Число замовлень на момент запуску тесту 198 595 Розмір бази даних MySQL 35 GB Розмір папки upload 59 GB

Сценарії навантаження:

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

  1. 100% - установка регіону (70% хітів Москва, 30% випадковий регіон)
  2. 37,8% - 2 випадкових детальних сторінки
  3. 22,6% - 4 випадкових детальних сторінки
  4. 18,5% - 4 випадкових сторінки розділу, включаючи посторінкову навігацію
  5. 10% - 2 випадкових розділу, детальна сторінка
  6. 5,6% - два хіта по головній сторінці
  7. 5% - ланцюжок розумного фільтра (перехід в випадковий розділ, установка довільного фільтра за кількома властивостями)
  8. 0,5% - покупка товару, оформлення замовлення

Крім того, для найбільшої реалістичності сценарію протягом доби оновлювалися ціни у приблизно 30% товарів каталогу і скидався кеш.
Тестування проводилося системою Yandex.Tank , Версії 1.8.x, як генератор навантаження використовувався JMeter 2.13.x

Висновки за результатами


Нове 24-годинне тестування навантаження було завершено успішно. На наш погляд, ми з партнерами реалізували тестовий стенд і налаштували сценарії навантаження, щоб максимально точно імітувати умови реального великого інтернет-магазину. І за цих умов отримати відмінні результати!
В ході тесту нами було отримано дуже високий показник кількості хітів в секунду - 718 RPS, а сумарна кількість оброблених за добу програмних хітів склало більше 61 млн. Не можна не відзначити відмінний показник часу генерації сторінок: менше 0,4 секунди (для 98% звернень) . Це дуже хороший результат, прийнятний для більшості сучасних ecommerce-проектів. Швидкість завантаження сайту безпосередньо впливає на конверсію і індексацію пошуковими роботами. На додаток до високої швидкості генерації сторінок, це забезпечувалося і технологією "Композитний сайт", що дозволяє миттєво довантажувати основу веб-сторінок і швидко оновлювати динамічні дані.
Інтерес для фахівців може мати поведінку тестового стенда в момент поновлення цін, так як в цей момент крім основного навантаження, створюється навантаження, створювана оновленням цін і залишків і перебудовою кеша. Це вкрай важливий момент для високонавантаженого проекту.
За графіками можна побачити, що веб-кластер, побудований на «1С-Бітрікс: Enterprise», відмінно відпрацьовував ці ситуації, лише на невеликий відрізок часу трохи збільшуючи час генерації сторінок і трохи знижуючи показник RPS. При цьому час генерації сторінки залишалося на прийнятному рівні і не перевищував 0,9 секунди.

Результати тестування продемонстрували, що:
  • Архітектура нової ecommerce-платформи «1С-Бітрікс: Enterprise» версії 17 дозволяє впевнено працювати з великими товарними каталогами, забезпечувати своєчасну актуалізацію даних з ERP систем і при цьому обробляти велику пікове навантаження, зберігаючи низький час генерації сторінок
  • Можливості масштабування «1С-Бітрікс: Enterprise» дозволяє досягти високої продуктивності, нарощувати серверні потужності для пікових періодів без модифікації коду проекту, забезпечувати високу надійність і відмовостійкість
  • Фасетний і повнотекстовий пошук реалізують швидкий пошук і фільтрацію за товарною номенклатурою
  • Оновлена ​​технологія «Автокомпозітний сайт» забезпечує миттєвий відгук системи для покупців, що дає відмінний користувальницький досвід, високу конверсію і швидкість індексації сайту пошуковими системами
Завантажити детальний звіт про виконання тестування і отриманих результатах

Думки партнерів і експертів


«Для нас цінне, що в черговий раз для проведення навантажувального тестування« 1С-Бітрікс »вибрав інфраструктуру Selectel. Це свідчить про високий рівень довіри до наших послуг з боку одного з найбільших російських розробників веб-систем. Наші компанії пов'язують давні партнерські відносини, ми сподіваємося на продовження співпраці в подальшому ».
Олександр Вечерський, директор зі зв'язків з громадськістю Selectel

«Lenvendo давно і успішно розробляє проекти для лідерів російського ecommerce на базі« 1С-Бітрікс ». Здатність сайту безперебійно витримувати пікові навантаження - не просто загальні слова, а реальна необхідність для наших клієнтів, адже хвилини простою вимірюються мільйонами рублів упущеної вигоди.
В ході проведеного тестування навантаження ми постаралися використовувати весь наш практичний досвід для того, щоб його результати були максимально наближені до реальності. Стенд, побудований і оптимізований фахівцями «1С-Бітрікс», відповідав архітектурі бойового проекту, профілі навантаження були взяті з реальних інтернет-магазинів. У кожному компоненті ми спільно докладали максимум зусиль, щоб результати тестування носили не синтетичний, а цілком реальний характер.
Проведене тестування переконливо довело теоретично те, що неодноразово демонструвалося на практиці: при наявності досвіду, компетенцій і ресурсів, на «1С-Бітрікс: Enterprise» можна будувати серйозні проекти, без обмежень по навантаженню ».
Віталій Гаврилов, технічний директор Lenvendo

«В ході тестування навантаження ми навмисно моделювали найбільш складні і ресурсомісткі сценарії, щоб дати нашим потенційним клієнтам об'єктивні показники для оцінки реалізації проекту на ecommerce-платформі« 1С-Бітрікс: Enterprise ».
Тестування показало відмінні результати по швидкості роботи платформи при навантаженнях, характерних для великих і складних проектів, з величезним товарним асортиментом і навантажувальними профілями, що включають як велика кількість клієнтських дій, так і інтеграційних процесів з внутрішніми системами компанії.
Крім підтвердження готовності рішення «1С-Бітрікс: Enterprise» до роботи в самих амбітних проектах сучасної електронної комерції, ми надаємо нашим клієнтам і партнерам готову архітектуру проекту і налаштувань платформи, яку можна брати за основу і застосовувати в реальних проектах ».
Артем Горобинка, директор по роботі з ключовими клієнтами «1C-Бітрікс»

Попередні навантажувальні тести


2015 рік: Навантажувальне тестування платформи «1С-Бітрікс» спільно з компаніями Selectel і ITSumma
2010 рік: Навантажувальне тестування MySQL-версії продукту «1С-Бітрікс: Управління сайтом» 9.5, спільно проведеного компаніями «1С-Бітрікс», «Онтіка» і .masterhost
2007 рік: Навантажувальне тестування MySQL-версії продукту, спільно проведене компаніями «1С-Бітрікс», QSOFT і .masterhost

масштабування

Масштабування інтернет-проектів

Будь-який новий або працює проект на «1С-Бітрікс: Управління сайтом» може бути представлений як веб-кластер взаємозамінних серверів.

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

Опис модуля Веб-кластер

Новости