В предыдущем сообщении была разобрана одна из причин дополнительной нагрузки на базу данных из-за неправильной обработки кэша. Проверив теорию на практике, было также найдено избыточное обращение к модели категорий, что также является, в некоторой степени, причиной снижения быстродействия.
В перечисленных ниже файлах вычисляются количество продуктов для каждой категории. Количество будет показано только в том случае, если включена соответствующая опция config_product_count в панели администрирования магазином.
./catalog/controller/module/category.php
./catalog/controller/product/category.php
./catalog/controller/common/header.php
Однако...
24 февраля 2013 г.
Оптимизация OpenCart: Исправление недочётов в формировании списка категорий
Опубликовал Roman | 03:03 Метки: config_product_count, getTotalProducts, optimization23 февраля 2013 г.
Оптимизация OpenCart: Исправление работы кэша с количеством продуктов для категорий
Опубликовал Roman | 00:08 Метки: cache, getTotalProducts, OpenCart v.1.5+, optimization, unserialize
Использование кэша в OpenCart позволяет сократить количество обращений к базе данных и увеличить быстродействие магазина, однако есть некоторые нюансы в работе самого кэша.
Управление кэшем происходит в файле ./system/library/cache.php, если обратить внимание на функцию get, то видно, что результат возвращается функцией php unserialize когда файл кэша есть и null, когда его нет. Это значит, что если в кэше сохранён результат пустой выборки в одной из моделей, то при очередном запросе кэша будет возвращён ноль.
Практически во всех моделях...
Подписаться на:
Сообщения (Atom)