Автор Тема: Быстродействие  (Прочитано 81 раз)

26 Июля 2016, 11:35:59
  • Старожил
  • ****
  • Сообщений: 254
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Стал разбираться с тормозами
define('_PS_DEBUG_PROFILING_', true);
Увидел следующее:
Time (ms) 150
/classes/SmartyCustom.php:263

INSERT IGNORE INTO `ps_smarty_lazy_cache`
(`template_hash`, `cache_id`, `compile_id`, `last_update`)
VALUES ('70254dafc8457e24235191fc445cee81',"productlist_colors|38|1|1","","2016-07-26 11:26:49")
Вопрос, что за таблица ps_smarty_lazy_cache
С чем связаны тормоза?
Как ускорить?

В строке SmartyCustom.php:263 имеем:
public function insert_in_lazy_cache($template, $cache_id, $compile_id)
    {
        $template_md5 = md5($template);
        $sql          = 'INSERT IGNORE INTO `'._DB_PREFIX_.'smarty_lazy_cache`
(`template_hash`, `cache_id`, `compile_id`, `last_update`)
VALUES (\''.pSQL($template_md5).'\'';

        $sql .= ',"'.pSQL((string)$cache_id).'"';

        if (strlen($compile_id) > 32) {
            $compile_id = md5($compile_id);
        }
        $sql .= ',"'.pSQL((string)$compile_id).'"';
        $sql .= ',"'.date('Y-m-d H:i:s').'")';

        return Db::getInstance()->execute($sql, false);
    }
26 Июля 2016, 11:58:47
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13126
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
ps_smarty_lazy_cacheне стандартная таблица, может это из вашей темы.
26 Июля 2016, 12:09:29
Ответ #2
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85945
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
ps_smarty_lazy_cacheне стандартная таблица, может это из вашей темы.
Это стандарная табл. для хранения хешей выбранных атрибутов.
26 Июля 2016, 12:16:40
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85945
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вопрос, что за таблица ps_smarty_lazy_cache
С чем связаны тормоза?
Как ускорить?
Лог сервера смотрели? Медленные запросы, ошибки sql сервера и т.д.
Нужно будет сменить конф. sql. Увеличте значения в разделе
# CACHES AND LIMITS #
26 Июля 2016, 12:42:18
Ответ #4
  • Старожил
  • ****
  • Сообщений: 254
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Странно, в /classes/SmartyCustom.php закомментировал

в функции
public function insert_in_lazy_cache($template, $cache_id, $compile_id)

строку
//return Db::getInstance()->execute($sql, false);

а в функции
public function delete_from_lazy_cache($template, $cache_id, $compile_id)

строку
//Db::getInstance()->execute($sql, false);

Быстродействие увеличилось.

Проблем не наблюдается. В чём смысл таблицы ps_smarty_lazy_cache
Сейчас у меня там 67 строк...
26 Июля 2016, 13:03:15
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1190
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Вы удалили запись во временную таблицу результатов выбора фильтров. По сути отключили кеширование в этом модуле.
Проблем быть не должно, если хостинг справляется. Блок фильтров самый прожорливый модуль в prestashop. Кеширование как раз и добавили чтобы разгрузить хостинг.
26 Июля 2016, 13:32:58
Ответ #6
  • Старожил
  • ****
  • Сообщений: 254
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Непонятно почему:

Time (ms) 150
/classes/SmartyCustom.php:263

INSERT IGNORE INTO `ps_smarty_lazy_cache`
(`template_hash`, `cache_id`, `compile_id`, `last_update`)
VALUES ('70254dafc8457e24235191fc445cee81',"productlist_colors|38|1|1","","2016-07-26 11:26:49")
Уж лучше такой кеш отключить...

Конечно же проверю конф. sql. Значения в разделе
# CACHES AND LIMITS #