На форуме 9558 тем, 76452 сообщений, 44664 участников
тема · 950 просмотров · 8 ответов

max_queries_per_hour после импорта товаров

Ошибки и их решения
читают: 0 участников и 1 гость
порядок
20 мая 2021 00:42#1
Чистый opencart-3.0.3.7-rs
Переношу товары с другого сайта.
Атрибуты и категории через Exprort/Import, товары - прямым копированием всех таблиц oc_product* через csv

При первом же после импорта открытии главной страницы - хостер банит за max_queries_per_hour

Fatal error: Uncaught Exception: Error: User 'user_user' has exceeded the 'max_queries_per_hour' resource (current value: 1)<br />Error No: 1226<br />SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '215' in /blabla/system/library/db/mysqli.php:41 Stack trace: #0 /blabla/system/library/db.php(45): DB\MySQLi->query('SELECT COUNT(DI...'😉 #1 /blabla/catalog/model/catalog/product.php(513): DB->query('SELECT COUNT(DI...'😉 #2 /blabla/storage/atl2/modification/system/engine/loader.php(248): M in /blabla/system/library/db/mysqli.php on line 41

Fatal error: Uncaught Exception: Error: User 'user_user' has exceeded the 'max_queries_per_hour' resource (current value: 1)<br />Error No: 1226<br />REPLACE INTO oc_session SET session_id = 'bd36ca030015c2ef46f988d126', data = '{\"user_id\":\"1\",\"user_token\":\"uFJuAPruXpHHZSLoFr3IESi5Pgo4fniO\",\"language\":\"ru-ru\",\"currency\":\"RUB\",\"install\":\"AC5t5q5jNO\"}', expire = '2021-05-20 00:34:48' in /blabla/system/library/db/mysqli.php:41 Stack trace: #0 /blabla/system/library/db.php(45): DB\MySQLi->query('REPLACE INTO o...') #1 /blabla/system/library/session/db.php(27): DB->query('REPLACE INTO o...'😉 #2 /blabla/system/library/session.php(81): Session\DB->write('bd36ca030015c2e...', Array) #3 [internal function]: Session->close() #4 {main} thrown in /blabla/system/library/db/mysqli.php on line 41

36 000 товаров с описаниями. oc_product_description - 62Мб
2 000 категорий
3 000 характеристик. oc_product_attribute - 24Мб
Немало, конечно. Но я уже не один раз сталкивался с подобными по размеру сайты на Опенкарт - никаких проблем не было. Тем более таких.
20 мая 2021 13:31#2
Смените хостинг на нормальный и проблем не будет. Рекомендуемый прямо в менюшке форума 🙂
20 мая 2021 14:00#3
Причём тут хостинг? Хостинг нормальный, не первый год пользуюсь и с таким ни разу не сталкивался.
Проблема в конкретном SQL запросе, который почему-то жрёт все ресурсы
20 мая 2021 15:51#4
В опенкарте много подобных запросов, но какой бы не был запрос, если с ним не справляется хост, то виноват он, а не опенкарт.
20 мая 2021 16:10#5
Вы хотите сказать, что хостинги из первого десятка этого списка чем то принципиально отличаются в работе с MySQL?
Повторяюсь: не первый год сижу уже на этом хостинге. Нагрузка на БД больше 20 секунд изредка бывает только при импорте большого количества товаров (порядка тех же самых десятков тысяч)
Здесь же при открытии зависает на 2 минуты - после чего его банят.
То есть проблема именно в самой БД. Могут в таблицах с товарами возникнуть какие то циклические ссылки?
20 мая 2021 16:48#6
iron-zorin написал(а): ↑Здесь же при открытии зависает на 2 минуты - после чего его банят.

Потому что у вас по умолчанию включен подсчет кол-ва товаров в категории, а это нагрузка. Если есть нагрузка, есть ресурсы хостинга. В ответ на нагрузку, нужно и запросы оптимизировать и кешировать и нормальный хостинг. Я джино обхожу стороной, сколько я с ним намучался. Собственно как и рег ру... одно мучение.
20 мая 2021 17:01#7
Вот за это - спасибо!
Как-то забыл про этот подсчёт.
Без него - совсем другое дело.
21 мая 2021 00:19#8
Мда, надо же было так протормозить. Ведь точно же вижу, что рекурсия...
Чтобы два раза не вставать - посоветуйте фильтр для такого количества товаров.
сообщения 1–9 из 9
Чтобы ответить, войдите или зарегистрируйтесь.

Похожие темы