Форум русской поддержки Joomla!® CMS
09.12.2016, 07:58:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как ускорить страницу категории ZOO?

 (Прочитано 101 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Megos
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Сообщений: 192


« : 07.11.2016, 15:20:19 »

ZOO конкретно тормозила на сервере с кучей других сайтов. Было принято решение, перенести на отдельный сервер. Но не смотря на то, что здесь под один сайт выделено 2 ядра по 2600 и 2 гига памяти тормоза не ушли. Сейчас при открытии страницы категории получаю ошибку (в админке тоже примерно такая же):

1104 - The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay SQL=SELECT c.*, GROUP_CONCAT(DISTINCT i.id) as item_ids FROM #__zoo_category as c USE INDEX (APPLICATIONID_ID_INDEX) LEFT JOIN #__zoo_category_item as ci ON ci.category_id = c.id LEFT JOIN #__zoo_item AS i USE INDEX (MULTI_INDEX2) ON ci.item_id = i.id AND i.access IN (1,5) AND i.state = 1 AND (i.publish_up = '0000-00-00 00:00:00' OR i.publish_up <= '2016-11-07 11:08:57') AND (i.publish_down = '0000-00-00 00:00:00' OR i.publish_down >= '2016-11-07 11:08:57') WHERE c.application_id = 1 AND c.published = 1 GROUP BY c.id

Нагуглил такое решение: _http://gtalex.ru/the-select-would-examine-more-than-max_join_size-rows-primer-optimizacii-sql-zaprosa

Оно про Виртуемарт, но проблема думаю такая же. Попробовал в настройках MySQL сервера повысить MAX_JOIN_SIZE параметр и категория стала открываться, но занимает это минуты по 2. Как я понимаю читаются все 140.000 записей потом выводится категория. При этом счетчика записей у категорий нет, не понятно зачем все пересчитывать, когда можно вывести 50 категорий первого уровня за секунду.

Вопрос к спецам, в каком файле и как можно использовать SET SQL_BIG_SELECTS=1 чтобы категории выводились шустрее?
Записан
Apoca1ypto
Завсегдатай
*****

Репутация: +63/-0
Offline Offline

Пол: Мужской
Сообщений: 617



« Ответ #1 : 07.11.2016, 15:24:46 »

ZOO конкретно тормозила на сервере с кучей других сайтов. Было принято решение, перенести на отдельный сервер. Но не смотря на то, что здесь под один сайт выделено 2 ядра по 2600 и 2 гига памяти тормоза не ушли. Сейчас при открытии страницы категории получаю ошибку (в админке тоже примерно такая же):

1104 - The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay SQL=SELECT c.*, GROUP_CONCAT(DISTINCT i.id) as item_ids FROM #__zoo_category as c USE INDEX (APPLICATIONID_ID_INDEX) LEFT JOIN #__zoo_category_item as ci ON ci.category_id = c.id LEFT JOIN #__zoo_item AS i USE INDEX (MULTI_INDEX2) ON ci.item_id = i.id AND i.access IN (1,5) AND i.state = 1 AND (i.publish_up = '0000-00-00 00:00:00' OR i.publish_up <= '2016-11-07 11:08:57') AND (i.publish_down = '0000-00-00 00:00:00' OR i.publish_down >= '2016-11-07 11:08:57') WHERE c.application_id = 1 AND c.published = 1 GROUP BY c.id

Нагуглил такое решение: _http://gtalex.ru/the-select-would-examine-more-than-max_join_size-rows-primer-optimizacii-sql-zaprosa

Оно про Виртуемарт, но проблема думаю такая же. Попробовал в настройках MySQL сервера повысить MAX_JOIN_SIZE параметр и категория стала открываться, но занимает это минуты по 2. Как я понимаю читаются все 140.000 записей потом выводится категория. При этом счетчика записей у категорий нет, не понятно зачем все пересчитывать, когда можно вывести 50 категорий первого уровня за секунду.

Вопрос к спецам, в каком файле и как можно использовать SET SQL_BIG_SELECTS=1 чтобы категории выводились шустрее?
Почитайте данную тему: http://joomlaforum.ru/index.php/topic,227130.msg1248212.html#msg1248212
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #2 : 07.11.2016, 15:31:04 »

zoo, как и его наследник jbzoo в плане большого кол-ва категорий и итемов весьма печален в вопросах производительности, я все жду jbzoo3, который будет отвязан от zoo и хоть как-то будет приближен к современным скоростям...
Записан
Megos
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Сообщений: 192


« Ответ #3 : 07.11.2016, 15:37:28 »

В примере 10к записей, у меня 140к. APC, nginx и кеширование в Joomla включены. Но не помогает. Или я не уловил суть Вашего посыла? Хотите сказать, что решение с SET SQL_BIG_SELECTS=1 не сработает для Zoo?
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #4 : 07.11.2016, 16:06:26 »

140к? увы, быстрее уже не будет... для понимания почему - поковыряйте таблицы в базе на предмет структуры данных...

зу не предназначено для кол-ва итемов более 25к априори, к сожалению, а такая классная задумка была...
Записан
Megos
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Сообщений: 192


« Ответ #5 : 07.11.2016, 16:13:44 »

140к? увы, быстрее уже не будет... для понимания почему - поковыряйте таблицы в базе на предмет структуры данных...

зу не предназначено для кол-ва итемов более 25к априори, к сожалению, а такая классная задумка была...

25к, ох... Где же Вы раньше были, когда я выбирал компонент каталога? Azn) В структурах баз, к сожалению, не разбираюсь.  Может знаете что-то для Joomla, что может осилить такой каталог? В иделае с возможностью миграции с Zoo.
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #6 : 07.11.2016, 16:36:07 »

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

вообще, я знаю и миллион итемов на зу, но там от зу и половины не осталось, при таких объемах любое решение потребует серьезных допилов
Записан
Megos
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Сообщений: 192


« Ответ #7 : 08.11.2016, 12:42:37 »

А если сделать несколько однотипных каталогов в виде разных app и разделить все итемы между ними? В этом случае будет пересчитываться вся база Zoo или только конкретно открываемый каталог?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet