Помощь Кто нибудь пытался ускорить скорость работы престы 1,6 по средством доработки базы данных? Ввести дополнительные индексы.

  • Автор темы Автор темы lightman5
  • Дата начала Дата начала

lightman5

Продвинутый (IV)
Сообщения
290
Реакции
19
Баллы
1 328
Доброго времени суток!

Не секрет, что основные тормоза у престы - это обращение к базе данных.
Сложные запросы от самих модулей и в том числе от категорий и тем более фильтра товаров (у меня используется Модуль - Расширенный Поиск 4 v4.12.9).
Можно долго капаться конечно с оптимизацией самих запросов, но есть решение более простое: добавить дополнительные индексы в базу данных которые свяжут определенные поля в свой индекс).
В свое время на версии 1,.4 долго эксперементируя - удалось ввести нужные и преста просто ожила - стала ЛЕТАТЬ!
Но это было давно и уже не помню - какие именно индексы вводил и к тому же структура баз отличается у 1.6
Может у кого то есть опыт и подскажет, какие создать?
 
Вот информация по теме:
 
У меня значительно ускорить престу 1.6 получилось с помощью модуля express cache 3. Но он как раз сам весь кэш в базе хранит.
 
Последнее редактирование:
У меня значительно ускорить престу 1.6 получилось с помощью модуля express cache 3. Но он как раз сам весь кэш в базе хранит.
он не подходит - так как есть постоянные обновления остатков и цены и кеш будет сбрасываться... нужно иное решение
 
Как и чем остатки обновляешь - просто интересно.
В express cache можно настроить что кэшировать а что нет. Если остатки обновляются раз в день, можно ночью по крону пересобирать кэш
 
У меня значительно ускорить престу 1.6 получилось с помощью модуля express cache 3. Но он как раз сам весь кэш в базе хранит.
А есть где скачать нуленый?
Я оказывается другой использовал Cache Manager v1.2.8. И с ним конфликты были с модулем поиска
 
Как и чем остатки обновляешь - просто интересно.
В express cache можно настроить что кэшировать а что нет. Если остатки обновляются раз в день, можно ночью по крону пересобирать кэш
Думаю не просто интересно :)))
Ты все просто как раз - Presta Phop manager!
Это единственное нормальное решение - там не только остатки а что угодно можно обновлять!
Вот скрины


У меня значительно ускорить престу 1.6 получилось с помощью модуля express cache 3. Но он как раз сам весь кэш в базе хранит.
Тут еще в чем фишка - это все хорошо,. но мне нужно кешировать сами запросы к базе данных - то есть работа запросов категорий и фильтра товаров - а это совсем другое и по этому введение дополнительных индексов в базу данных - будет самое ТО - только опыта нет и по этому здесь разместил вопрос - может кто вводил и имеет опыт?

У меня значительно ускорить престу 1.6 получилось с помощью модуля express cache 3. Но он как раз сам весь кэш в базе хранит.
Самим модулем можете поделиться?
 
Ну во первых, это актуально для больших каталогов со сложной выборкой (комбинации).

В категории до 1000 товаров (больше пока не доводилось делать на рабочем проекте) вполне сносно работают коммерческие фильтры с хорошо настроенным сервером.
 
Ну вот... никто не пишет... :(
Когда долгое время ковырялся в способах оптимизации и ускорения престы, тоже пришел к выводу, что добавление индексов могло бы существенно ускорить работу с БД.
Об этом постоянно говорит и phpMyAdmin и MySQLTuner:
Screenshot_3.jpg
Screenshot_2.jpg
Screenshot_1.jpg
Screenshot_4.jpg
Но, к сожалению, моих знаний недостаточно, чтоб сделать это.
Странно, почему французы не пытаются оптимизировать престу таким образом?
 
Ну во первых, это актуально для больших каталогов со сложной выборкой (комбинации).

В категории до 1000 товаров (больше пока не доводилось делать на рабочем проекте) вполне сносно работают коммерческие фильтры с хорошо настроенным сервером.
а если товаров 60 тысяч в одном магазине и 10 тысяч во втором на одном сервере - тогда что делать?
 
Когда долгое время ковырялся в способах оптимизации и ускорения престы, тоже пришел к выводу, что добавление индексов могло бы существенно ускорить работу с БД.
Об этом постоянно говорит и phpMyAdmin и MySQLTuner:
Но, к сожалению, моих знаний недостаточно, чтоб сделать это.
Странно, почему французы не пытаются оптимизировать престу таким образом?

ВОт и я пришел к тем же выводам - что нужны дополнительные индексы - вопрос только куда их добавлять. В престе 1.4 - существенно увеличилась скорость таким образом. А вот в 1.6 не знаю где добавить. Знаний то же не хватает. То же не понимаю почему никто этим вопросом не занимался - ведь оно того стоит - скорость может вырасти в разы
 
а если товаров 60 тысяч в одном магазине и 10 тысяч во втором на одном сервере - тогда что делать?
У меня два активных магазина по 6500 товаров в каждом, и у каждого товара в среднем по 3-4 комбинации, плюс два языка, и еще на этом же сервере 2 тестовых магазина..
И когда смотришь на статистику запросов к БД - страшно становится)))
 
У меня два активных магазина по 6500 товаров в каждом, и у каждого товара в среднем по 3-4 комбинации, плюс два языка, и еще на этом же сервере 2 тестовых магазина..
И когда смотришь на статистику запросов к БД - страшно становится)))
ну у меня собственно так же. 2-а активных и 2-а тестовых :)
только для активных у меня настроена nginx - реально по шустрее !
Один магазина где 60-т тысяч товаров на 1.4 версии так как страшно его переводить на 1.6 и тем более 1.7 чтобы не получить огромнейшие тормоза... Вот и ищу способы как ускорить престу с таким количеством товаров и уже потом и переводить. Сервак не очень шустрый 6-ти ядерник 2,4 Ксеоны на ссд
 
У меня два активных магазина по 6500 товаров в каждом, и у каждого товара в среднем по 3-4 комбинации, плюс два языка, и еще на этом же сервере 2 тестовых магазина..
И когда смотришь на статистику запросов к БД - страшно становится)))
Можно конечно попробовать поэкспериментировать и самому раз уж так сложилось, что мало кто этим занимался и самому научиться или хотябы частично убрать часть "тормозов".
По сути основную нагрузку нам дают 3-и типа модулей:
1) модуль категорий
2) модуль поиска
3) выгрузки яндекс маркета, карта сайта и гугл выгрузки

У каждого из них есть запросы к базе данных - нужно понять какие основные и используются чаще других и попробовать объединить эти столбцы в отдельный индекс.
Вопрос - чем измерять скорость работы? Не на глаз же делать - какие методы есть замера скорости?
 
Включите DEBUG_PROFILING и увидите все, что нагружает + запросы в бд, которые повторяются.
 
Включите DEBUG_PROFILING и увидите все, что нагружает + запросы в бд, которые повторяются.

Благодарю еще раз за подсказку!

Вот самые "мощные" первые запросы:
Модуль фильтра товаров

Категории
 
Последнее редактирование:
Как оказалось - запросы почти идентичные что у модуля фильтра товаров что у категорий
Значит что то общее у них есть какой и где делать составной индекс

Ранее я делал как то давно индекс для престы 1.4 - тогда реально помогло
остались записи
 
Назад
Верх