August 31, 2022
Технології

8 способів збільшити продуктивність сайту на 1С-Бітрікс

T

8 способів збільшити продуктивність сайту на 1С-Бітрікс

Щотижня на нашу підтримку надходять скарги на низьку швидкість завантаження. У 99,9% випадків виявляється, що проблема криється в слабкому хостингу та неправильних налаштуваннях. Розповідаємо, що робити, якщо сайт чи інтернет-магазин гальмує, і як правильно зробити діагностику та самостійно збільшити продуктивність – так, щоб літав.

1. Оцініть продуктивність

Модуль «Монітор продуктивності» 1С-Бітрікс дозволить протестувати продуктивність сайту та порівняти результати з еталонними показниками. Він вкаже на слабкі місця: сайт, CMS, конфігурація, неякісна технологія або хостинг. Ви можете розгорнути ваш сайт або чистий 1С-Бітрікс на різних майданчиках і порівняти ці цифри.

Що потрібно знати про показники продуктивності:
менше 30 пунктів – забудьте про продуктивність та швидке завантаження сторінок. Показника "Дуже швидко" вам не бачити. Гальмувати буде все!
від 30 до 60 – підійде для невеликих проектів (корпоративні сайти чи інтернет магазини з невеликою кількістю товарів, невеликою кількістю SKU та параметрів у розумному фільтрі)
від 60 до 100 - конфігурація сервера прийнятна, але не оптимальна. Підійде більшість проектів. Сайт працюватиме, але не на надшвидкості.
від 100 – ви молодці: не полінувалися вибрати нормальний хостинг майданчик! Адмінка літає, великі обсяги даних із 1С вивантажуються на ура, сторінки віддаються швидко. Ви спите спокійно і навіть не думаєте писати в техпідтримку зі скаргами на проблеми із завантаженням сайту, жодного разу не бачили помилок Request timeout або 502 Bad Gateway.
200 і вище – ідеально!

Як протестувати сайт
Перейдіть до панелі продуктивності: Установки → Продуктивність → Панель продуктивності. Натисніть кнопку «Тестування продуктивності» та зачекайте кілька хвилин.

2. Перейдіть на PHP8

Вийшла сьома версія PHP. Вона розроблялася з упором збільшення продуктивності і зменшення споживання пам'яті. Тести це переконливо показують (приклад 1, приклад 2) – приріст продуктивності після переходу на нове ядро ​​становить від 40%!

Сидіти на старих версіях PHP – ускладнювати життя користувачеві та робити цей інтернет гірше. Якщо ваш хостинг не підтримує PHP8, змінюйте його (наприклад, на цей із безкоштовним перенесенням). Якщо ваш сайт не підтримує PHP8, негайно виправляйтеся.


3. Налаштуйте кешування


Використовувати композит та автокомпозит – це добре і правильно. Але просто включити їх — півсправи. Щоб отримати відчутний приріст у швидкості, потрібно коректно задати час життя кешу в залежності від частоти оновлення даних на сайті та відвідуваності.

Як не треба:


Залишати параметри за замовчуванням (120 секунд).
Чому перший відвідувач заходить на сторінку товару. Формується кеш. Другий відвідувач заходить на сайт за годину. Кеш потрібно формувати наново - його час минув. У результаті кеш генерується щоразу під час відкриття сторінки. Приросту продуктивності та швидкості не просто немає – вона навіть знижується.
Не співвідносити час життя кеша із частотою оновлення даних на сайті та відвідуваності сайту.
Задавати для окремих розділів (новини, статті) час кешування.
Як треба — залежно від частоти оновлення даних та відвідуваності сайту:

Ціни на сайті оновлюються вручну або кілька разів на тиждень.
Рекомендований час кешування: не менше 172 800 секунд (2 доби).

Ціни на сайті оновлюються один раз на день, вивантаження із 1С або іншої системи складського обліку відбувається вночі.
Рекомендований час кешування: 86 400 секунд (1 доба).

Нечасто, але буває: ціни оновлюються через реал-тайм обмін із 1С і буває, що кілька разів протягом дня.
Рекомендований час кешування: 7200 секунд (2 години).


4. Створіть фасетні індекси для розумного фільтра


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


5. Проаналізуйте та створіть індекси у базі даних

Індекси аналізуються та створюються тут: Налаштування → Продуктивність → Індекси → Аналіз індексів.
Натисніть кнопку «Виконати аналіз зібраних SQL запитів». Якщо зелені індикатори, все в порядку: індекси створені. Якщо індикатори жовті, створіть їх самостійно. Інструкція в мануалах 1С-Бітрікс

6. Вимкніть модулі, що не використовуються.

При інціалізації ядра 1С-Бітрікс підключається великий перелік модулів. Вони забирають ресурси, але при цьому не потрібні для повноцінної роботи сайту. Відключаємо зайві модулі – отримуємо приріст продуктивності. Перед тим як це робити, обов'язково зробіть резервну копію сайту.

Які модулі використовуються рідко та їх можна відключити без наслідків для роботи сайту:
AD/LDAP інтеграція (ldap)
Push and Pull (pull)
Wiki (wiki)
А/B-тестування (abtest)
Веб-аналітика (statistic)
Веб-кластер (cluster)
Веб-месенджер (im)
Веб-сервіси (webservice)
Дизайнер бізнес-процесів (bizprocdesigner)
Документообіг (workflow)
Календар подій
Конструктор звітів (report)
Менеджер ідей (idea)
Мобільна платформа (mobileapp) - якщо не підключено мобільний додаток
Мобільний додаток для інтернет-магазину (eshopapp) - якщо не підключено мобільний додаток
Навчання (learning)
Переклад (translate)
Пошта (mail)
Техпідтримка (support)
Універсальні списки (lists)
Управління масштабуванням (scale).


Як це зробити: перейдіть до налаштувань модулів Робочий стіл → Установки → Установки продукту → Модулі та вимкніть зайві. Інструкція у базі знань

7. Налаштуйте CDN

Ще одна неоднозначна річ, яка може розігнати сайт, так і змусити його гарненько пригальмувати. Що це таке?
Теорія:
«Модуль Прискорення сайту (CDN), який дозволяє завантажувати весь статичний контент вашого сайту (картинки, файли стилів CSS, скрипти js) через мережу дистрибуції контенту (Content Delivery Network або Content Distribution Network, CDN). Тим самим значна частина ресурсів сайту завантажується відвідувачем з найближчого до нього сервера. Це дозволяє збільшити швидкість завантаження сторінок до кількох разів.
Також підключення CDN знижує навантаження на основні сервери сайту. Оскільки весь статичний контент завантажується відвідувачами вашого сайту не безпосередньо з серверів, а з вузлів CDN, які вміють дуже ефективно кешувати контент, знижується кількість звернень безпосередньо до ваших серверів» (звідси)

Налаштовується CDN тут: Налаштування → Хмара 1С-Бітрікс → Прискорення сайту (CDN).
Практика
Не все так однозначно: для когось включений CDN дає реальний приріст продуктивності, а у когось навпаки знижує швидкість завантаження сайту. Вихід один: тестувати та заміряти результати.

8. Увімкніть об'єднання та стиснення CSS та JS-файлів

У налаштуваннях головного модуля сайту є чарівний блок, який дає змогу покращити показники швидкості завантаження сайту. Називається він "Оптимізація CSS". Позначайте галочками все, зберігайте зміни та тестуйте швидкість завантаження сторінок.
Як це все працює в деталях, читайте у нашій базі знань. А оцінити в кількісних та якісних характеристиках ці «до» та «після» допоможе старий добрий Google PageSpeed Insights.

vikagalat

Post's Author

Віка Галат

Follow The Author On:

Follow The Author On:

Fb.
Ln.
In.
Say Hello Salut Hola Ciao Namaste
Say Hello Salut Hola Ciao Namaste
Head Illustration