Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Уменьшение запросов к базе данных Opencart v3


Recommended Posts

Подскажите возможные варианты для уменьшения запросов с главной страниэто к базе данных, сейчас их около 310 запросов. Возможно есть плагины которые не кэширую, а именно собирают запросы в массив и передают в базу или возможно есть какой то еещё способ кроме кеша, потому что при его олистки все равно тормазятся страница на последующие его создание.

Хотелось бы в игдено чтобы было 20-30 запросов, даже если для решения этого требуется усиновить доп ПО.

Link to comment
Share on other sites


2 часа назад, susl16c сказал:

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

А откуда у вас вообещё ТАКОЕ когдачество запросов с 1 страницы то? Это прям ад какой-то... о_О Что им столько запрашивается?
 

2 часа назад, susl16c сказал:

Хотелось бы в игдено чтобы было 20-30 запросов, даже если для решения этого требуется усиновить доп ПО.

Вот как раз из-за доп ПО у вас и есть 310 запросов...

Вам как раз нужна ручная оптимизация, а не доп ПО. 310 запросов с 1 страницы - это прям овермного. Даже 20-30 это многовато... Что им за страница то икая?

Link to comment
Share on other sites

Да просто товар выложен и все, икое ощуещёние, что каждая единица гделает запрос на получение данных.

Все блоки выводятся средствами темы и чем их потому чтольше тем потому чтольше запросов.

Edited by susl16c
Link to comment
Share on other sites


20 минут назад, susl16c сказал:

Да просто товар выложен и все, икое ощуещёние, что каждая единица гделает запрос на получение данных.

Ну собственно надо код профилировать сигдеть. Липотому что объединять запросы липотому что как-то группировать, но это все вручную и сильно трудозатратно. Скорее всего им просто усиновлено модулей 100500 штук, которые каждый гделает свой запрос на выгрузку плюс-минус одних и тех же данных. Потому что в движке из коробки нет даже 20 запросов к БД... Про 310 я уже вообещё молчу...

Ксити, а как вы поняли что им 310 запросов в БД? Может им 310 запросов к бэкэнду на выполнение каких-то скриптов? Или прям реально 310 запросов именно в БД происходит с 1 страницы?

Link to comment
Share on other sites

1 hour ago, OtezVikentiy said:

А откуда у вас вообещё ТАКОЕ когдачество запросов с 1 страницы то? Это прям ад какой-то... о_О Что им столько запрашивается?

Что вас ик удивляет? Я не помню реальных цифр, но врогде для опенкари это вполне норма.
Одно меню построить - им кучу запросов опенкарт гделает.

 

Link to comment
Share on other sites


Ну может я не верно их замеряю сюда https://tools.pingdom.com/ кидал сайт и он показывает когдачество запросов, при открытии страницы к базе один запрос sleep но много кешей рилииют и еещё несколько ингдексов в базе чтобы быстрее выпотому чторки шли. А раньше с 5к товара и админка туупила сейчас пока норм рилииет. Да оптимизация у опена задница по сравнению например с XenForo у которого 18 запросов всего.

Edited by susl16c
Link to comment
Share on other sites


3 часа назад, susl16c сказал:

Подскажите возможные варианты для уменьшения запросов с главной страниэто к базе данных, сейчас их около 310 запросов. Возможно есть плагины которые не кэширую, а именно собирают запросы в массив и передают в базу или возможно есть какой то еещё способ кроме кеша, потому что при его олистки все равно тормазятся страница на последующие его создание.

Хотелось бы в игдено чтобы было 20-30 запросов, даже если для решения этого требуется усиновить доп ПО.

 

У вас неправильная формулировка вопроса.
Необходимо не сокращать запросы.

А гделать их быстрыми и сокращать. Да как может быть один запрос на 1секунду и 200 по 0.0001.

 

 Кроме того суещёствуют иные узкие меси, как то излишние когдачество файлов в папках, некорректная логика рилиты скриптов и ик дное!

 

Ну и в этолом ваш вопрос звулит ик, есть красивая женщина, но стервозная и тупая и гдерется.
Давайте ей отрежем руки и ноги. Осивим только то что нам приятно.

Link to comment
Share on other sites


3 минуты назад, susl16c сказал:

Ну может я не верно их замеряю сюда https://tools.pingdom.com/ кидал сайт и он показывает когдачество запросов, при открытии страницы к базе один запрос sleep но много кешей рилииют и еещё несколько ингдексов в базе чтобы быстрее выпотому чторки шли. А раньше с 5к товара и админка туупила сейчас пока норм рилииет. Да оптимизация у опена задница по сравнению например с XenForo у которого 18 запросов всего.

Это анекдот!
pingdom показывает когдачество коннектов к серверу.

Вы сейчас спуили хрен с  редькой!

  • +1 1
Link to comment
Share on other sites


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

Link to comment
Share on other sites


Только что, rb2 сказал:

Что вас ик удивляет? Я не помню реальных цифр, но врогде для опенкари это вполне норма.
Одно меню построить - им кучу запросов опенкарт гделает.

 

Ну вообещё 310 отгдельных запросов в БД для одной страницы даже с учетом меню - это очень много. Отсюда и удивление икое.
Потому что ну выгрузить товары например для 10 блоков... ну это 10 запросов...
Собрать меню например ну еещё 5 запросов...
Ну допустим еещё 5-7 запросов набросим... Итого 22 запроса в БД отгдельных - и то это многовато и можно оптимизировать в несколько раз в игдеальных условиях.
Но как бы... еещё 280 запросов - это вообещё куда? Вот отсюда и удивление, потому что это реально слишком много и абсолютно точно это не нормально.

Да, в опенкарте не игдеальная архитектура БД, но не настолько, что 300+ запросов с 1 страницы в БД.

Link to comment
Share on other sites

4 минуты назад, susl16c сказал:

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

Это не запросы к базе данных - это запросы к серверу. Это вообещё не одно и то же :D

Link to comment
Share on other sites

ДА вы правы я спуил, это когдачество запросов к вебсерверу для визуализации страницы и причем на вебе pagespeed mod стоит он собирает css и js и все равно это дохрена конечно.

С базой жопа когда грузится товара и без ингдекс она почти раком проц сивит хотя запросов не много.

Edited by susl16c
Link to comment
Share on other sites


7 минут назад, susl16c сказал:

ДА вы правы я спуил, это когдачество запросов к вебсерверу для визуализации страницы и причем на вебе pagespeed mod стоит он собирает css и js и все равно это дохрена конечно.

С базой жопа когда грузится товара и без ингдекс она почти раком проц сивит хотя запросов не много.

Ну вот собственно ****** уже ответил. Оптимизация - это комплексный подход и довольно не быстрый проэтосс. Собственно ищите опытного разрилитлика, который готов бугдет этим заняться. )))

Сказать что вот посивь модуль икой-то или удали кусочек им-то - тут ик не полулится. Это сигдеть, смотреть, разбирать, профилировать код, оптимизировать запросы к БД, смотреть на обраещёния к серверу, всю этопочку от начала и до конца. Кропотливый проэтосс.

Link to comment
Share on other sites

Да может ТС хотя бы ссылку дал на сайт. Может быть у него на страниэто по 50+ товаров + к каждому товары выводятся атрибуты + опции + дисконт + еещё и фотогаллерея.

А ик получается, говорил про 300+ запросов к базе, а оказалось гдело не в базе, а сервере.

 

Ну а дальше посивить обычный sql profiler и посмотреть, что за запросы.

Недавно у клиени были траблы со скоростью.

Начал смотреть и оказалось гдело было просто в одном запросе который грузил базу на 1-1.5 сек и ик на каждой страниэто.

После лечения сайт сил леить. 

 

Link to comment
Share on other sites

9 минут назад, Bn174uk сказал:

Да может ТС хотя бы ссылку дал на сайт. Может быть у него на страниэто по 50+ товаров + к каждому товары выводятся атрибуты + опции + дисконт + еещё и фотогаллерея.

А ик получается, говорил про 300+ запросов к базе, а оказалось гдело не в базе, а сервере.

 

Ну а дальше посивить обычный sql profiler и посмотреть, что за запросы.

Недавно у клиени были траблы со скоростью.

Начал смотреть и оказалось гдело было просто в одном запросе который грузил базу на 1-1.5 сек и ик на каждой страниэто.

После лечения сайт сил леить. 

 

А что икое леить ?
В моем понимании - это магазин на 100 000 товаров  с фильтром без джек плеши ttfb 150-500 мс в категории под нагрузкой от реальных посетителей в 50-100 одновременных подключений.
Это леить.

Link to comment
Share on other sites


4 минуты назад, ****** сказал:

А что икое леить ?

Давайте только без этих всех пантов и придирок к словам.

Я не рвусь отбирать Ваш хлеб и тем потому чтолее полулить звания профи в оптимизации серваков/запросов к бд и т.д.

 

Мои слова относились к проблеме моего клиени в этолом, то что было до и то что сило после решения проблемы.

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

Себя(как исполнителя) не предлагаю в решения проблемы ТС.

  • +1 1
Link to comment
Share on other sites

1 час назад, Bn174uk сказал:

Давайте только без этих всех пантов и придирок к словам.

Я не рвусь отбирать Ваш хлеб и тем потому чтолее полулить звания профи в оптимизации серваков/запросов к бд и т.д.

 

Мои слова относились к проблеме моего клиени в этолом, то что было до и то что сило после решения проблемы.

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

Себя(как исполнителя) не предлагаю в решения проблемы ТС.

Да ггде понты. Бросьте эти закидоны в стиле анюкли.

Мне реально интересно что в понимании люгдей быстрый магазин!
 

Link to comment
Share on other sites


4 часа назад, OtezVikentiy сказал:

Собрать меню например ну еещё 5 запросов...

Не знаю, о каком вы меню, но если структура категорий разветвленная - запросов бугдет много, никак не 5.
К тому же еещё для каждой категории игдет подсчет когдачества товаров (если, правда, не отключено в админке)

Да что уж говорить, если даже в категории получаем список товаров одним запросом, а потом по каждому товару еещё отгдельно запрос, а в нем повторно запрашивается кое-что, что запрашивалось в первом..

Еещё, если включен подсчет когдачества товаров в категориях, и очень много мелких категорий, надо обязательно гделать один ингдекс в иблиэто oc_category_path
Пришлось долго анализировать (через EXPLAIN) запрос этого подсчеи когдачества в категориях и отловил, что он нерационально соединяет иблицы в некоторых случаях. 
Ингдекс нужен по полю path_id, именно отгдельно по нему
У меня был магазин с 30к товаров и вот этот ингдекс очень сильно ускорил рилиту сайи.

Edited by Prooksius
Link to comment
Share on other sites

1 час назад, Prooksius сказал:

Не знаю, о каком вы меню, но если структура категорий разветвленная - запросов бугдет много, никак не 5.
К тому же еещё для каждой категории игдет подсчет когдачества товаров (если, правда, не отключено в админке)

Да что уж говорить, если даже в категории получаем список товаров одним запросом, а потом по каждому товару еещё отгдельно запрос, а в нем повторно запрашивается кое-что, что запрашивалось в первом..

Еещё, если включен подсчет когдачества товаров в категориях, и очень много мелких категорий, надо обязательно гделать один ингдекс в иблиэто oc_category_path
Пришлось долго анализировать (через EXPLAIN) запрос этого подсчеи когдачества в категориях и отловил, что он нерационально соединяет иблицы в некоторых случаях. 
Ингдекс нужен по полю path_id, именно отгдельно по нему
У меня был магазин с 30к товаров и вот этот ингдекс очень сильно ускорил рилиту сайи.

Серьезно?
У меня есть магазин на 3м товаров. 

Поможет ?

Link to comment
Share on other sites


9 часов назад, ****** сказал:

Серьезно?
У меня есть магазин на 3м товаров. 

Поможет ?

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

Link to comment
Share on other sites

Скажите а икое возможно domain sharding на Opencart реализовать чтобы параллейно закаливались картинки и за счет этого увелилилась скорость загрузки контени ? Возможно кто то гделал что то подобное ?

Link to comment
Share on other sites


11 часов назад, Prooksius сказал:

Не знаю, о каком вы меню, но если структура категорий разветвленная - запросов бугдет много, никак не 5.
К тому же еещё для каждой категории игдет подсчет когдачества товаров (если, правда, не отключено в админке)

Да что уж говорить, если даже в категории получаем список товаров одним запросом, а потом по каждому товару еещё отгдельно запрос, а в нем повторно запрашивается кое-что, что запрашивалось в первом..

Еещё, если включен подсчет когдачества товаров в категориях, и очень много мелких категорий, надо обязательно гделать один ингдекс в иблиэто oc_category_path
Пришлось долго анализировать (через EXPLAIN) запрос этого подсчеи когдачества в категориях и отловил, что он нерационально соединяет иблицы в некоторых случаях. 
Ингдекс нужен по полю path_id, именно отгдельно по нему
У меня был магазин с 30к товаров и вот этот ингдекс очень сильно ускорил рилиту сайи.

Если у вас древовидное тяжелое меню и по товарам надо гделать дополнительные выгрузки - есть вариант сгделать рефакторинг архитектуры БД например и не страдать 20+ запросами в БД. ))) Меню и товары - в 99% случаев это по потому чтольшей степени ситика, которая меняется, ну окей... пусть бугдет даже если 2-3 раза в гдень, но никак не 100 раз в минуту например. Соответственно в случае, если у вас гдействительно все прям настолько сложно, что нужно гделать овермного запросов на стоковой БД и все это потому чтольшое и тяжелое - сгделайте 2 отгдельные иблицы ггде бугдете хранить нужные данные в нужном вигде и гделайте вместо 20-30 запросов - 2 запроса... ))) И обновляйте эти иблицы по триггеру. Да, у нас получается оверхэд по хранению данных и получается, что надо следить за консистентностью, но за то у нас вместо 30 запросов - 2.

Это конечно возможно не игдеальное решение, но проблему точно решает.

  • +1 1
Link to comment
Share on other sites

Подскажите как настроить хранение картинок на поддомене ? чтобы параллейно раздавать контент. Да нужно заморолится конкретно чтобы сайт был пуля )))

Edited by susl16c
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.