Патч для оптимизации ShopCMS (3.0.0, 3.1.1 и выше) запросов к базе данных MySQL позволяет уменьшить нагрузку на базу данных. Суть предлагаемой оптимизации в уменьшении, иногда значительном, количества запросов, необходимых для генерации страницы магазина. Наибольший эффект данный патч оптимизации ShopCMS производит для внутренних страниц каталогов с большим количеством товаров и категорий, а также при использовании дополнительных характеристик товаров.
Установка:
1. Сделать резервную копию файла
core/includes/database/mysql.php
2. Загрузить файлы (заменить):
core/includes/database/mysql.php
core/includes/database/optMysql.class.php
core/includes/counter.php (необязательно, отключает счетчик посетителей)
3. Если используется стандартный немодифицированный движок - заменить следующие
файлы (перед этим сделать резервные копии).
core/functions/product_functions.php
core/functions/category_functions.php
core/includes/product_detailed.php
Если же эти файлы были модифицированы по сравнению с оригинальными, нужно
применить патч для них вручную.
Все изменения, касающиеся патча, выделены комментариями такого вида:
// BEGIN Patch Optimize
модифицированный или вставленный код
// END Patch Optimize
4. Если возникла проблема с кодировкой - сравнить в старом и новом файлах
core/includes/database/mysql.php тело функции db_connect, а именно
запросы set names и set character. Заменить эти запросы из старого файла в новый.
Оптимизация запроcов к базе данных ShopCMS реализована следующими путями:
- Кэширование результатов повторяющихся выборок
- Оптимизация работы с:
- переменными конфигурации
- дополнительными характеристиками товаров
- рекомендованными товарами
- Отключение некоторых ненужных функций скрипта (счетчик посетителей)
Патч оптимизации ShopCMS - тестирование
Патч оптимизации ShopCMS тестировался на страницах вложенных категорий с множеством товаров - именно там он производит максимальный эффект. Все результаты тестов - для движка версии 3.1.1, но для 3.0.0 оптимизация показывает иногда даже лучшие результаты.
Метод тестирования: один и тот же URL категории открывался в разных версиях скрипта, на одном сервере. Результаты измерений брались из отладочной панели ShopCMS.
В отладочной панели ShopCMS обратите внимание на параметры "Работа с БД" и "Запросов в БД"
ShopCMS "тормозит" (медленно работает)? Хостер жалуется на большую нагрузку на БД?
Включите в настройках своего магазина отладочную панель и откройте несколько страниц каталога. Если на многих страницах категорий со списками товаров ShopCMS запросов к БД очень много (100 и больше) и при этом время работы с БД значительное - данный патч скорее всего ощутимо повысит эффективность их генерации, то есть магазин должен работать с патчем быстрее. Обычно проблемы с нагрузкой на БД встречаются на недорогих хостингах. Уменьшение количества запросов особенно полезно, если сервер MySQL вынесен на отдельный хост (когда в настройках скрипта хост БД указывается не 'localhost', а какой-то другой).
opt.zip 24.08К 68 Количество загрузок: