Продуктивність

Висока швидкість роботи - це візитна картка продуктів сімейства Melbis Shop. Але слід пам'ятати, що якою б не була швидкою і потужною ракета, нею необхідно вміло керувати, розуміти принципи її роботи, і тільки тоді вона зможе розкрити всі свої можливості. Melbis Shop 6 - це, безумовно, швидка система, але ми все ж хочемо дати кілька рекомендацій, як повністю задіяти всі її можливості!

  • Організуйте правильну роботу.
    Формалізуйте бізнес-процеси Вашого магазину! Це фундаментальний аспект, який, на жаль, часто ігнорується власниками інтернет-магазинів. Якщо Ви раніше працювали з іншою CMS або системою, то все одно відповідально підійдіть до цього питання, виходячи з особливостей роботи з Melbis Shop 6. Не варто намагатися шукати в кабіні ракети ручку перемикання швидкостей або педаль зчеплення. Вона працює за іншим принципом. Тому Вам слід звернути увагу на такі моменти:
    • Існують довідники, робота з якими потребує блокувань. Поясніть своїм співробітникам, що їх можна відкривати і в режимі "читання", щоб не блокувати для інших співробітників роботу з ними. Також призначте права доступу співробітникам таким чином, щоб звести до мінімуму подібні ситуації.
    • Робота з товарами розділена на дві основні складові: некомерційну (робота з описовою частиною товару) і комерційну (робота з цінами, статусами тощо). Буде правильно, якщо з товарами працюватимуть щонайменше двоє співробітників: менеджер (формує описи товарів) і логіст (стежить за ціноутворенням).
    • Завдяки тому, що комплекс Melbis Shop 6 працює в пакетному режимі даних, тобто, на відміну від веб-інтерфейсу, модифікація таблиць відбувається одним махом: вносяться одразу багато змін у таблицю, а не "за годину по чайній ложці". Це безумовний плюс архітектури комплексу, дуже вигідний для системи кешування. Адже в цьому разі оновлювати кеш системі доведеться набагато рідше! Однак, не все залежить і від системи, потрібна ще правильно організувати роботу. Адже якщо, скажімо, набивати описи товарів і натискати кожні п'ять хвилин на кнопку "Зберегти", то кеш відповідних модулів теж буде перебудовуватися кожні п'ять хвилин (за умови, що не задано таймаут кешу). Тому зверніть увагу на розділ "Користувачі", де для кожної операції можна задати час, коли вона може бути виконана! Обмежте виконання певних операцій у годину пік роботи магазину.
    • У Melbis Shop 6 закладений дуже великий потенціал, і, хоча система вельми доброзичлива до своїх користувачів, Вам знадобиться деякий час для її освоєння. За аналогією з авіацією, не намагайтеся відразу після зльоту починати виконувати фігури вищого пілотажу, особливо, якщо Ви недосвідчений льотчик. Сконцентруйтеся на найважливіших речах, намагайтеся побудувати бізнес-процес якомога простіше. Мине час, і Ви почнете поступово задіювати все більше і більше функціоналу Melbis Shop 6. Тому дуже важливо на самому початку не перевантажити Ваш проєкт елементами, які можуть стати в нагоді, але Вам поки до кінця не ясно, як їх правильно використовувати.

  • Використовуйте систему кешування.
    Кешування роботи модулів магазину - це дуже важлива складова про яку було розгорнуто сказано вище (див. розділ: Кешування). Важливо правильно використовувати кеш, у зв'язку з цим ми хочемо дати Вам деякі поради:
    • Перегляньте модулі, і збільште час старіння кеша (таймаут), його можна задати індивідуально для кожного модуля. Навіть невеликий таймаут в одну хвилину може майже вдвічі розвантажити Ваш сервер (все звичайно залежить від частоти зміни даних).
    • Розробляйте модулі таким чином, щоб бібліотеки, що підключаються, менше впливали на оновлення кешу. Наприклад, погана ідея зробити одну велику бібліотеку з усіма корисними функціями і підключати її до всіх модулів. В результаті зміна практично будь-якої таблиці призведе до необхідності перебудови кеша кожного модуля.
    • Якщо Ваш сайт розміщений на власному сервері, помістіть папку з даними кеша на SSD-диск. Адміністратор хостингу допоможе Вам це зробити, це абсолютно нескладно. Вам тільки потрібно буде купити SSD-диск. Річ у тім, що кеш складається з безлічі дрібних файлів, і в цьому випадку робота самої файлової системи значно швидша на SSD-диску (особливо операції читання).

  • Користуйтеся засобами налагодження модулів.
    У Melbis Shop 6 є розвинений інструментарій для того, щоб Ви могли швидко і наочно аналізувати роботу модулів (див. Засоби налагодження). Завдяки цим звітам Ви можете швидко знайти, який модуль спричиняє надмірну затримку в завантаженні сторінки, який SQL-запит виконується надто довго, або надто часто тощо. Пам'ятайте також, що СУБД MySQL має вбудований кеш, який перед налагодженням необхідно відключити. Робиться це в розділі "Система / Інсталяція", необхідно додати таку команду: SET SESSION query_cache_type = OFF

  • За необхідності додавайте індекси.
    Під час розроблення архітектури бази даних ми додавали індекси до таблиць керуючись правилом: "чим менше, тим краще". Індекси, звичайно, є, але тільки для однозначно необхідних полів. Річ у тім, що індекси можуть не тільки прискорити, а й сповільнити роботу, особливо для таблиць, які часто змінюються. Це пов'язано з тим, що на часту зміну даних знадобиться часта перебудова індексу. З цієї причини багато розробників додають індекси тільки в міру необхідності, це рекомендуємо і ми. Тобто, якщо у Вас є SQL-запит, який виконується досить довго, створюйте індекс на необхідну таблицю(и), не забуваючи про частоту змін у ній(них).