ShopCMS ускорение работы магазина - оптимизация запросов к базе данных
Патч для оптимизации (ускорения) ShopCMS (3.0.0, 3.1.1 и выше) запросов к базе данных MySQL позволяет уменьшить нагрузку на базу данных. Суть предлагаемой оптимизации в уменьшении, часто значительном, количества запросов, необходимых для генерации страницы магазина. Наибольший эффект данный патч оптимизации ShopCMS производит для внутренних страниц каталогов с большим количеством товаров и категорий, а также при использовании дополнительных характеристик товаров.
Оптимизация запроcов к базе данных ShopCMS реализована следующими путями:
- Кэширование результатов повторяющихся выборок
- Оптимизация работы с:
- переменными конфигурации
- дополнительными характеристиками товаров
- рекомендованными товарами
- древовидным каталогом категорий
- Отключение некоторых ненужных функций скрипта
Патч оптимизации ShopCMS - тестирование
Патч оптимизации ShopCMS тестировался на страницах вложенных категорий с множеством товаров - именно там он производит максимальный эффект. Все результаты тестов - для движка версии 3.1.1, но для 3.0.0 оптимизация показывает иногда даже лучшие результаты.
Метод тестирования: один и тот же URL категории открывался в разных версиях скрипта, на одном сервере. Результаты измерений брались из отладочной панели ShopCMS.
| версия скрипта | время работы с БД | количество запросов |
|---|---|---|
| стандартная | 0.018 | 57 |
| оптимизированная | 0.015 | 34 |
| версия скрипта | время работы с БД | количество запросов |
|---|---|---|
| стандартная | 0.029 | 138 |
| оптимизированная | 0.016 | 62 |
| версия скрипта | время работы с БД | количество запросов |
|---|---|---|
| стандартная | 0.060 | 283 |
| оптимизированная | 0.023 | 53 |
| версия скрипта | время работы с БД | количество запросов |
|---|---|---|
| стандартная | 1.371 | 861 |
| оптимизированная | 0.121 | 52 |
Каким магазинам ShopCMS нужна эта оптимизация?
ShopCMS "тормозит" (медленно работает)? Хостер жалуется на большую нагрузку на БД?
Включите в настройках своего магазина отладочную панель и откройте несколько страниц каталога. Если на многих страницах категорий со списками товаров ShopCMS запросов к БД очень много (100 и больше) и при этом время работы с БД значительное - данный патч скорее всего ощутимо повысит эффективность их генерации, то есть магазин должен работать с патчем быстрее. Обычно проблемы с нагрузкой на БД встречаются на недорогих хостингах. Уменьшение количества запросов особенно полезно, если сервер MySQL вынесен на отдельный хост (когда в настройках скрипта хост БД указывается не 'localhost', а какой-то другой).
Стоимость дополнения - $40, установка на один магазин - без дополнительной платы.