- Проекти з високим навантаженням
- 1. Інтернет-магазин компанії «Евросеть»
- 2. Інтернет-магазин МТС
- 3. Інтернет-гіпермаркет «ДомПром.Ру»
- 4. Сайт Державної Думи
- 5. Сайт інтернет-магазину sapato.ru
- Готовність до високих навантажень
- Тестування навантаження
- Цілі тестування 2015
- Отримані результати
- висновки
- умови тестування
- тестового середовища
- Попередні навантажувальні тести
- Масштабування інтернет-проектів
- Діагностика проекту і рекомендації
- Інформація для розробників
- Приклади проектів з високим навантаженням
продуктивність
Проекти з високим навантаженням
  Високі показники, отримані при   нагрузочном тестуванні продукту   , Найкраще підтверджуються результатами роботи реальних сайтів.  Нижче наведені приклади великих веб-проектів, розроблених на «Бітрікс: Управління сайтом». 
  1.   Інтернет-магазин компанії «Евросеть» 
  Руфат Гусейнов, директор по електронній комерції та корпоративних продажів:  «У грудні 2014 року наша компанія пережила найпотужніший сплеск відвідувачів сайту, який був приблизно в три рази вище середніх показників, і ми з успіхом впоралися з цим навантаженням.  Більш того, зараз наша компанія оновлює платформу «1С-Бітрікс» на новітню версію, так як в ній реалізований весь найсучасніший функціонал.  Практика показує, що відмова будь-якої платформи - це збій архітектури проекту, її потужності на серверному рівні.  Ця частина життєдіяльності будь-якого ресурсу залишається завжди за кадром, але саме вона під час піку навантажень найчастіше і підводить.  І саме це треба враховувати заздалегідь перед піковими навантаженнями ».
  «У грудні 2014 року наша компанія пережила найпотужніший сплеск відвідувачів сайту, який був приблизно в три рази вище середніх показників, і ми з успіхом впоралися з цим навантаженням.  Більш того, зараз наша компанія оновлює платформу «1С-Бітрікс» на новітню версію, так як в ній реалізований весь найсучасніший функціонал.  Практика показує, що відмова будь-якої платформи - це збій архітектури проекту, її потужності на серверному рівні.  Ця частина життєдіяльності будь-якого ресурсу залишається завжди за кадром, але саме вона під час піку навантажень найчастіше і підводить.  І саме це треба враховувати заздалегідь перед піковими навантаженнями ». 
2. Інтернет-магазин МТС

  4 000 000 хітів на добу,   оновлення кожні 15 хвилин 
  Дані про відвідуваність інтернет-магазину за грудень 2014 року: 
- Загальна відвідуваність за весь місяць 2 960 560 користувачів і 21 697 129 переглядів
- 22 грудня (самий навантажений день) 163 631 користувачів і 895 861 переглядів
3. Інтернет-гіпермаркет «ДомПром.Ру»
 Дані про відвідуваність інтернет-магазину за листопад 2014 року:
Дані про відвідуваність інтернет-магазину за листопад 2014 року:  Самий навантажений день - 8 185 546 хітів на добу 
4. Сайт Державної Думи
  Дані про навантаження на сайт під час DDoS 
  Дані за 10-11 липня 2012 года:
   Дані за 10-11 липня 2012 года: 
- 90 запитів в секунду
- 1 000 000 переглядів
- 600 000 відвідувачів
- 2700 чол одночасно в онлайні
5. Сайт інтернет-магазину sapato.ru

Дані за 2012-2014 рік:
- Середнє навантаження на сайт - 500 000 хітів на добу
- Найбільше навантаження - 1 300 000 хітів за добу
думка експертів
  «Бітрікс: Управління сайтом» - рішення для будь-яких навантажень 
  «Бітрікс: Управління сайтом» - багатофункціональний продукт з широкими можливостями, але раніше за це доводилося розплачуватися значною втратою продуктивності, особливо у випадках, коли за розробку ресурсу брався не надто кваліфікований користувач.  Тестування показало, що в нових версіях «Бітрікс» розробникам вдалося усунути вузькі місця і значно підвищити продуктивність системи.  Це успіх!". 
Дмитро Криков, технічний директор компанії .masterhost
Готовність до високих навантажень
  Компанії «Бітрікс», Selectel і ITSumma в 2015 році провели тестування навантаження програмних продуктів «Бітрікс: Управління сайтом» (редакція «Бізнес») і «Бітрікс: Ентерпрайз». 
  Результати навантажувального тестування підтверджують, що продукти стабільно працюють в умовах надвеликих навантажень. 
  Готовий інтернет-магазин на продукті «Бітрікс: Управління сайтом» (редакція «Бізнес»), що містить до 99 280 SKU і розміщений на одному типовому сервері, здатний обслужити за добу: 
- до 779 991 унікальних сесій
- до 14 781 832 переглядів сторінок
- до 29 635 замовлень
  Готовий інтернет-магазин на продукті «Бітрікс: Ентерпрайз», що містить 99 280 SKU і розміщений на кластері з двох типових серверів, здатний обслужити за добу: 
- до 1 214 858 унікальних сесій
- до 23 082 301 переглядів сторінок
- до 46 436 замовлень
  Готовий інтернет-магазин на продукті «Бітрікс: Ентерпрайз», що містить до 99 280 SKU і розміщений на кластері з чотирьох типових серверів, здатний обслужити за добу: 
- до 2 434 534 унікальних сесій
- до 46 256 141 переглядів сторінок
- до 93 042 замовлення
Висока продуктивність на доступному устаткуванні
  Тестова середовище, що використовується при навантажувальні тестуванні: 
  2007 рік: Навантажувальне тестування MySQL-версії продукту, спільно проведене компаніями «Бітрікс», QSOFT і .masterhost 
  2010 рік: Навантажувальне тестування MySQL-версії продукту «1С-Бітрікс: Управління сайтом» 9.5, спільно проведеного компаніями «Бітрікс», «Онтіка» і .masterhost 
тестування
Тестування навантаження
«Ми розглядаємо тестування самого продукту« Бітрікс: Управління сайтом »як питання надання нашим клієнтам гарантій в плані продуктивності та відмовостійкості. Прекрасні результати навантажувального тестування дозволяють нам заявляти про готовність проектів, створених на базі «Бітрікс: Управління сайтом», до масштабування під будь-які навантаження ».
Артем Горобинка, керівник відділу розвитку бізнесу компанії «Бітрікс»
  Цілі тестування 2015 
Проводячи нове тестування навантаження платформи «Бітрікс» спільно з компаніями Selectel і ITSumma, ми переслідували наступні цілі:
- Оцінка максимальної продуктивності, яку здатні витримувати типові редакції «Бітрікс: Управління сайтом» на доступному виділеному обладнанні з використанням одного сервера.
- Оцінка максимальної продуктивності, яку здатний витримати продукт «Бітрікс: Ентерпрайз» в кластерному рішенні, включаючи оцінку можливостей подальшого лінійного горизонтального масштабування.
- Оцінка впливу технології «Композитний сайт» на час відгуку і продуктивність системи.
- Оптимізація конфігурації серверного програмного забезпечення, виявлення обмежень, визначення методів подальшого масштабування.

Отримані результати
  Готовий інтернет-магазин на продукті «Бітрікс: Управління сайтом» (редакція «Бізнес»), що містить до 99 280 SKU і розміщений на одному типовому сервері, здатний обслужити за добу: 
- до 779 991 унікальних сесій
- до 14 781 832 переглядів сторінок
- до 29 635 замовлень
  Готовий інтернет-магазин на продукті «1С-Бітрікс: Ентерпрайз», що містить 99 280 SKU і розміщений на кластері з двох типових серверів, здатний обслужити за добу: 
- до 1 214 858 унікальних сесій
- до 23 082 301 переглядів сторінок
- до 46 436 замовлень
  Готовий інтернет-магазин на продукті «Бітрікс: Ентерпрайз», що містить до 99 280 SKU і розміщений на кластері з чотирьох типових серверів, здатний обслужити за добу: 
- до 2 434 534 унікальних сесій
- до 46 256 141 переглядів сторінок
- до 93 042 замовлення
висновки
  Результати тестування підтвердили високу продуктивність платформи (до 167 динамічних запитів в секунду на типовому сервері) і стабільність при роботі з великими навантаженнями (відсутність різких відхилень на періоді 24-годинного тестування). 
  На даний момент п латформа «Бітрікс: Ентерпрайз» дозволяє ефективно горизонтально масштабироваться за кількістю серверів: 
- коефіцієнт приросту 1,65 при двох серверах, по відношенню до одного сервера (коефіцієнт корисного навантаження одного сервера 0,825)
- коефіцієнт приросту 3,18 при чотирьох серверах по відношенню до одного сервера (коефіцієнт корисного навантаження одного сервера 0,795)
-   коефіцієнт приросту 2,01 при чотирьох серверах по відношенню до двох серверів 
 2-кратний приріст при тестуванні 4-х-серверів говорить про можливість ефективного лінійного горизонтального масштабування.
  Порівняння ефективності конфігурації №1 в варіанті з використанням і без використання композитного кеша говорить про відсутність додаткового навантаження на сервер в разі застосування композитного кешу, при його зберіганні засобами nginx. 
  Використання технології «Композитний сайт» кардинально зменшує час відгуку, що позитивно впливає на сприйняття контенту відвідувачами сайту, а також на ефективність індексування пошуковими системами. 
  Додатково встановлено, що в 99% -відсоток більше 500 мс були виконані тільки запити, пов'язані з додаванням товару в кошик і оформленням замовлення, - близько 1% запитів, а 95% виконувалися в межах 300 мс, що є стандартом для високопродуктивних систем. 
  Тестування будь-яких змін вироблялося в умовах рівномірного навантаження.  У реальному проекті навантаження буде нерівномірною (варіюватися в залежності від часу доби, сезону, проведених маркетингових кампаній і т.д.).  Добові показники для працюючого проекту будуть в 2,5-3 рази менше, а результати тестів в умовах реальних додатків можуть служити орієнтиром для налаштування програми і прийняття рішення про необхідність масштабування. 
  Олексій Лавренюк, Яндекс.Танк: 
  «При проектуванні систем важливо розуміти, яке навантаження зможуть витримати компоненти, з яких вони збираються.  Це необхідно для того, щоб передбачити появу вузьких місць в архітектурі і намітити шляхи їх усунення до того, як це призведе до втрати грошей і репутації. 
  Оскільки для тестування з самого початку був використаний Яндекс.Танк, буде досить просто перейти від експериментів з навантаженням до повноцінних автоматизованих навантажувальні тестів і враховувати їх результати вже на початкових стадіях розробки.  Це дозволить знизити ризики, пов'язані з продуктивністю і зменшити витрати на усунення проблем, викликаних особливостями архітектури та компонент системи ». 
  Євген Потапов, ITSumma: 
  «У проведеному тестуванні для нас було важливо оцінити межі продуктивності платформи« Бітрікс »з використанням типового обладнання.  Зрозуміти, чи корисно це для власників сайтів - адже вони можуть оцінити свої витрати, чи корисно для розробників і адміністраторів - вони можуть орієнтуватися наскільки їх рішення можна порівняти з еталоном, і корисно для користувачів - коли ресурси витримують навантаження - сайт не гальмує. 
  Тестування показало - «Бітрікс» відмінно справляється з навантаженням і працює на рівні високопродуктивних систем, забезпечує швидкий час відповіді і дозволяє легко збільшувати ресурси додаванням нових серверів - ресурси системи виростають пропорційно числу елементів кластера.  А це, в свою чергу, означає, що «Бітрікс» підходить для проектів будь-якого рівня складності - від невеликих інтернет-магазинів до складних високонавантажених проектів ». 
  Олександр Тугов, «Селектел»: 
  «Наші компанії пов'язують давні партнерські відносини.  Ми цінуємо, що для проведення навантажувального тестування «Бітрікс» вибрав інфраструктуру «Селектел».  Це свідчить про високий рівень довіри до наших хостинговим послуг з боку одного з найбільших російських розробників систем управління.  Сподіваємося, що існуючі і майбутні користувачі продуктів «Бітрікс» також будуть віддавати перевагу «Селектел» при плануванні інфраструктури для розгортання додатків ». 
умови тестування
тестоване ПО

  «Бітрікс: Управління сайтом» 
  Редакція   «Бізнес»   .  версія 15.0.14 
  Установка на 1 типовому сервері 
  «Бітрікс: Ентерпрайз» 
  версія 15.0.4 
  Установка на кластері з 2х і 4х типових серверів 
  Параметри установки: 
- Тип коробкового рішення «Інтернет-магазин»
- Демонстраційні дані каталогу товарів, включає 99 280 SKU
- включена технологія «Композитний сайт»
тестового середовища
Параметри проведення тесту
-   Тестування проводилося системою   Yandex.Tank   , Версії 1.7.10.  Yandex.Tank обрана як надійна, зарекомендувала себе система, яка дозволяє, на наш погляд, надати найбільш докладні дані по проведеним тестування.  Результати тестування Yandex.Tank перевірені в безлічі проведених навантажувальних тестувань компанією Яндекс і визнаються незалежними експертами. 
-   Як генератор навантаження використовувалося додаток   JMeter 2.13   .  JMeter - відкрита і гнучка система проведення навантажувального тестування, яка досить давно використовується різними компаніями для перевірки систем під емуляцією реальних навантажень. 
-   Як SLA-часу відповіді обрана 99-процентиль <1000мс (99% запитів виконуються швидше 1000мс), як максимально допустимий прийнятний час генерації   сторінки   для інтернет-магазину.  Тест виконується при максимальної завантаженості процесора / диска / пам'яті, на якій зберігається даний SLA. 
- Оскільки в рамках навантажувального тестування на проект подається критична для обладнання навантаження, допускається виникнення помилок. Частка запитів з помилковими відповідями (невиконаних запитів) не повинна перевищувати 0.5% від загального числа запитів.
Попередні навантажувальні тести
2007 рік: Навантажувальне тестування MySQL-версії продукту, спільно проведене компаніями «Бітрікс», QSOFT і .masterhost2010 рік: Навантажувальне тестування MySQL-версії продукту «1С-Бітрікс: Управління сайтом» 9.5, спільно проведеного компаніями «Бітрікс», «Онтіка» і .masterhost
масштабування
Масштабування інтернет-проектів
  Будь-який новий або працює проект на «Бітрікс: Управління сайтом» може бути представлений як веб-кластер взаємозамінних серверів. 
Модуль Веб-кластер - це комбінація технологічних рішень, які дозволяють розподілити один сайт на кілька серверів, вирішуючи тим самим кілька завдань: забезпечення високої доступності сайту; його масштабування в умовах зростаючого навантаження; балансування навантаження, трафіку, даних між декількома серверами.
Опис модуля Веб-кластердіагностика
  Діагностика проекту і рекомендації 
Для підвищення продуктивності і швидкості роботи інтернет-проектів в продукті «Бітрікс: Управління сайтом» використовуються спеціальні інструменти для оцінки продуктивності конфігурації, платформи «1С-Бітрікс» і якості розробки інтернет-проекту. А крім того система автоматично виробляє діагностику роботи і видає рекомендації щодо поліпшення продуктивності.
Аналіз конфігурації «Бітрікс»
  Проаналізувати швидкість роботи проекту допоможе   «Монітор продуктивності»   , Що дозволяє в абсолютних величинах оцінити конфігурацію проекту, порівняти її з еталонною системою, проаналізувати загальну продуктивність проекту і виявити «проблемні ділянки». 
  «Панель продуктивності» модуля дозволить не тільки протестувати продуктивність проекту, але і порівняти отримані результати з еталонною системою.  І, що важливо, при цьому даються рекомендації по налаштуванню і наводиться список найбільш навантажених сторінок. 
  Еталонні виміри продуктивності, які використовуються «Монітором продуктивності», виконані на   віртуальній машині VMware   , Розробленої фахівцями «Бітрікс».  Ви теж можете безкоштовно перевірити, наскільки швидко запрацює ваш сайт на «Бітрікс: Віртуальна машина». 
розробникам
Інформація для розробників
  кешування інформації 
  Одна з ключових стратегій масштабування - кешування інформації.  Завдяки кешування вдається значно зменшити число повторюваних запитів до бази даних і виключити повторювані ресурсомісткі обчислення.  Мабуть, жоден найбільший інтернет-проект в світі не обходиться без використання тих чи інших технологій кешування інформації. 
При цьому кешування є чудовим инстументом для невеликих проектів, що містять рідко оновлювані дані. Технологія кешування проста у використанні, не вимагає від користувача відслідковувати зміни і створена для повсякденного використання.
налаштування автокешірованія
  оптимізація коду 
  Як показує практика, програмісту дуже складно одночасно сконцентруватися на вирішенні бізнес-завдання в програмному коді і вирішенні завдань швидкого виконання цього коду або його безпеки.  Кожна з цих завдань має свою специфіку, і вимагає погляду на код кожного разу в іншій площині. 
  оптимізація коду 
  Інструменти налагодження 
  Інструменти налагодження є прекрасною підмогою розробникам в щоденній роботі.  До складу продукту входить оцінний інструментарій, який дозволяє проаналізувати час роботи кожного окремого компонента і всієї сторінки в цілому.  Інструмент дозволяє вивчити кожен SQL-запит, створений компонентом, місце виклику, час роботи компонента, час і відсоток виконання SQL-запитів цього компонента.  Повна статистика збирається і показується за часом виконання всієї сторінки і всім SQL-запитах. 
  Інструменти налагодження 
  компресія трафіку 
  Одним з факторів, що визначають швидкість роботи відвідувачів з сайтом є обсяг даних, який при кожному запиті закачується в браузер.  Веб-сервер може бути налаштований оптимально і швидко генерувати веб-сторінки по запитам.  Однак, якщо кожна така сторінка буде великих розмірів, то посетітелель буде змушений довго чекати її завантаження, що може негативно позначитися на іміджі вашої веб-проекту і компанії. 
  Також проблеми можуть відчувати адміністратори і контент-редактори сайту, що працюють в адміністративному розділі.  Якщо робота в "адмінки" ведеться з великими наборами даних, завантаження їх в браузер, особливо на повільних каналах, також буде займати чимало часу. 
  Важлива не тільки швидкість генерації сторінок, але також і швидкість їх доставки відвідувачеві.  Розмір сторінки безпосередньо впливає на швидкість її завантаження в браузер. 
  В даний час ця задача вирішується шляхом компресії (стиснення) даних, що передаються на стороні сервера і подальшої декомпресії (розпакування) даних на стороні комп'ютера відвідувача.  Практичні всі сучасні браузери підтримують прийом стисненого трафіку. 
  Стиснення контенту можна здійснювати безпосередньо веб-сервером Зокрема для Apache є модулі mod_gzip і mod_deflate.  Також компресію можливо реалізувати на стороні PHP включенням директиви zlib.output_compression = 1. 
  Незважаючи на це, в продукті ми реалізували окремий модуль компресії, який дозволяє вам не залежати від налаштувань серверного програмного забезпечення.  Це дає вам такі переваги: 
- компресія працює непомітно і не вимагає установки і налаштування сторонніх модулів; 
- ви отримуєте можливість використання компресії на віртуальному хостингу, коли дуже часто компресія на стороні сервера вимкнена; 
- завантаження процесів веб-сервера мінімальна; 
- модуль компресії в продукті коректно працює з усіма браузерами, і навіть виправляє ряд їхніх помилок. Зокрема в браузері Internet Explorer існувала проблема, коли при розпакуванні компрессированного контенту губилися 2Кб початкових даних. Крім того, модуль безпомилково визначає, чи підтримує компресію браузер або проксі-сервер клієнта. 
Продуктивність на віртуальному хостингу
проекти
Приклади проектів з високим навантаженням
  На жаль, ми не можемо вказувати точні дані про серверах і пікової відвідуваності проектів.  З цієї причини ми вирішили виділити тільки деякі проекти, відвідуваність яких лежить в діапазоні від 5 000 до 50 000 унікальних користувачів в день і які використовують для роботи один або два виділених сервера.  Ми також включили в цей список проекти з великими каталогами товарів або контенту (новин, статей) або форумами. 
