Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Много SQL запросов из за мега меню


 Поделиться

Рекомендованные сообщения

Помогите разобраться с проблемой модули мега меню примерно 2000-2100 SQL запросов из за этого модуля.. что и медлит работу сайта,, хотя и при отключении этого модуля SQL запросы уменьшаются но сайт все же тупит,,ДБ оптимизирован и индексирован,, посоветуйте что с этим делать может есть какой то модуль для кешировки,? 

 

Ссылка на комментарий
Поделиться на других сайтах


Что за мега меню надо отгадать?

 

Да так-то все равно. Все равно кэшера под него нет, только под стандартные модули. Добавьте кэширование сами. 

Ссылка на комментарий
Поделиться на других сайтах


Да так-то все равно. Все равно кэшера под него нет, только под стандартные модули. Добавьте кэширование сами. 

откуда и как добавить ,?

Ссылка на комментарий
Поделиться на других сайтах


надо зайти на сайт, имя сайта начинается с www

и там будет код, который надо добавить на сайт, чтоб все меню кэшировалось.

 

Удачи.

а по конкретнее нельзя ?? если не трудно ??

Ссылка на комментарий
Поделиться на других сайтах


Вы посмотрели как устроен кеш в других модулях?

Ссылка на комментарий
Поделиться на других сайтах

Просто не хотят вас расстраивать, что надо вывалить пару тысяч рублей, чтобы кто то вам сделал это, так как все видят, что квалификации вам не хватит самому сделать.

Ссылка на комментарий
Поделиться на других сайтах

Вы посмотрели как устроен кеш в других модулях?

 

Походу даже не собирался. Новичок же, все готовое нужно.

 

Оберни код модуля в стандартную обертку

//Начало обертки
$cache_name = 'mega.menu.' . http_build_query($setting); //Уникальное имя для текущего модуля
$this->data['categories'] = $this->cache->get($cache_name);
if (empty($this->data['categories'])){
//конец

//здесь идет получение списка категорий и цикл их добавления в массив

//вторая часть обертки
$this->cache->set($cache_name, $this->data['categories']);
}
//конец

Ссылка на комментарий
Поделиться на других сайтах


 

Походу даже не собирался. Новичок же, все готовое нужно.

 

Оберни код модуля в стандартную обертку

//Начало обертки
$cache_name = 'mega.menu.' . http_build_query($setting); //Уникальное имя для текущего модуля
$this->data['categories'] = $this->cache->get($cache_name);
if (empty($this->data['categories'])){
//конец

//здесь идет получение списка категорий и цикл их добавления в массив

//вторая часть обертки
$this->cache->set($cache_name, $this->data['categories']);
}
//конец

 

Лучше вообще сразу сгенеренный HTML кешировать

Ссылка на комментарий
Поделиться на других сайтах

Лучше вообще сразу сгенеренный HTML кешировать

 

Я отталкиваюсь от стандартного кода OpenCart и того как я его понимаю. Так-то да, HTML намного лучше будет.

Изменено пользователем hplus
Ссылка на комментарий
Поделиться на других сайтах


Я отталкиваюсь от стандартного кода OpenCart и того как я его понимаю. Так-то да, HTML намного лучше будет.

 

И не забыть в модель админки

 

/admin/model/catalog/category.php

В методы addCategory,  editCategory , deleteCategory

 

Добавить очищение кеша $this->cache->delete('mega');

 

Тогда можно уже чувствовать спокойно, но лучше это сделать через vqmod, чтобы потом можно было обновлять нормально

Ссылка на комментарий
Поделиться на других сайтах

я бы начал с вопроса - что за модуль, откуда, и почему не спрашиваем у автора модуля? ;)

Ссылка на комментарий
Поделиться на других сайтах

я бы начал с вопроса - что за модуль, откуда, и почему не спрашиваем у автора модуля? ;)

Mega menu - это шедевр вьетнамо малазийско индуской "кухни", который сделан кривыми руками (изначально должен быть заложен кеш в архитектуре таких модулей). А Вы посылаете пользователя к его авторам, это все равно что послать далеко и на долго  :ugeek:  :-D

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

сейчас "mega menu" фигурирует в названии каждого второго модуля меню :-D

 

а начать с автора предлагаю по той простой причине, что подавляющая часть таких модулей - платная

Ссылка на комментарий
Поделиться на других сайтах

сейчас "mega menu" фигурирует в названии каждого второго модуля меню :-D

 

а начать с автора предлагаю по той простой причине, что подавляющая часть таких модулей - платная

 

Даже если платная... если в модуле этого класса нет кеширования изначально (как вообще такое может быть!), то в 99.99% автор косой и тупой  :) И толку от него ноль, скорее всего код скоммуниздил и изменил

Ссылка на комментарий
Поделиться на других сайтах

Даже если платная... если в модуле этого класса нет кеширования изначально (как вообще такое может быть!), то в 99.99% автор косой и тупой  :) И толку от него ноль, скорее всего код скоммуниздил и изменил

 

я подхожу к вопросу с другой стороны - каким бы ни был автор косым и тупым, вопросами нужно мучать именно его

ибо складывается ощущение что очередной модуль благополучно спионерили и ищут халявной поддержки на форуме.. ;) 

Ссылка на комментарий
Поделиться на других сайтах

если же модуль бесплатный - считается правилом хорошего тона дать ссылку на него

да и решение проблемы такая ссылка ускорит, вместо гаданий "а где? а что? а как?" ;)

Ссылка на комментарий
Поделиться на других сайтах

Aper ссылку на модуль дайте

Ссылка на комментарий
Поделиться на других сайтах

Aper ссылку на модуль дайте

так,,, уважаемые форумчане спасибо за советы и за помощь я выяснил что в модуле уже есть кешировка и вроде работает ,,, поговорил с тех, поддержкой хостинга поэтому поводу они включили модуль mod_lsapi для сайта теперь запросов стало мало сайт начал грузится быстрее чем раньше но не так как хотелось бы ,,,,  

этот сайт мне подарили поэтому прошу не ругать за бесплатные модули которые стоят на сайте так как я приобрел сайт таким каким он и был,, сам не продвинутый программист но немножко разбираюсь ,, если кому интересно то могу скинуть ссылку на сайт

Ссылка на комментарий
Поделиться на других сайтах


дело в том что я сам не установил этот модуль он стоял на сайте,, шаблон называется Boss theme electronues и все модули начинаются с BOSS.. поэтому не могу дать ссылку на модуль могу только дать ссылку на мой сайт если надо

Ссылка на комментарий
Поделиться на других сайтах


не виноватая я, он сам ко мне пришел!! (с) :-D

 

если модуль является частью шаблона - разумно задать вопрос непосредственно автору шаблона

только почему-то вопрошающие в таких случаях сразу тупят глазки - типа мне сайт такой в наследство достался..

 

если шаблон куплен - значит есть возможность связаться с разработчиком, задать вопрос

а то и обновленную поправленную версию скачать

 

если реально достался в наследство - трясите начальство/дарителей, пусть контакты дают для связи с автором

Ссылка на комментарий
Поделиться на других сайтах

...

 

если реально достался в наследство - трясите начальство/дарителей, пусть контакты дают для связи с автором

 

Я такие сказки, про "подарил кум", "купил уже было" слушаю по "сто" раз на день... а когда связываешься с теми кто "продал" оказывается никакой лицензии и модуль никто не покупал

Сомневаюсь я что и Boss тема была куплена

Ссылка на комментарий
Поделиться на других сайтах

поговорил с тех, поддержкой хостинга поэтому поводу они включили модуль mod_lsapi для сайта теперь запросов стало мало сайт начал грузится быстрее чем раньше но не так как хотелось бы ,,,,

 

 

Хм... Причем здесь запросы к mod_lsapi

Light Speed API

т.е. php c апачем может работать, как mod_php, как php-fpm, так и mod_lsapi. База данных (mysql) - это для php сторонний ресурс и без особых усилий уменьшить количество запросов к базе никак не удастся.

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.