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

Тема в разделе "Ошибки и их решения", создана пользователем iron-zorin, 20 май 2021.

  1. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Чистый 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Мб
    Немало, конечно. Но я уже не один раз сталкивался с подобными по размеру сайты на Опенкарт - никаких проблем не было. Тем более таких.
     
  2. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    Смените хостинг на нормальный и проблем не будет. Рекомендуемый прямо в менюшке форума :)
     
  3. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Причём тут хостинг? Хостинг нормальный, не первый год пользуюсь и с таким ни разу не сталкивался.
    Проблема в конкретном SQL запросе, который почему-то жрёт все ресурсы
     
  4. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    В опенкарте много подобных запросов, но какой бы не был запрос, если с ним не справляется хост, то виноват он, а не опенкарт.
     
  5. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Вы хотите сказать, что хостинги из первого десятка этого списка чем то принципиально отличаются в работе с MySQL?
    Повторяюсь: не первый год сижу уже на этом хостинге. Нагрузка на БД больше 20 секунд изредка бывает только при импорте большого количества товаров (порядка тех же самых десятков тысяч)
    Здесь же при открытии зависает на 2 минуты - после чего его банят.
    То есть проблема именно в самой БД. Могут в таблицах с товарами возникнуть какие то циклические ссылки?
     
  6. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    Потому что у вас по умолчанию включен подсчет кол-ва товаров в категории, а это нагрузка. Если есть нагрузка, есть ресурсы хостинга. В ответ на нагрузку, нужно и запросы оптимизировать и кешировать и нормальный хостинг. Я джино обхожу стороной, сколько я с ним намучался. Собственно как и рег ру... одно мучение.
     
    iron-zorin нравится это.
  7. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Вот за это - спасибо!
    Как-то забыл про этот подсчёт.
    Без него - совсем другое дело.
     
  8. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Мда, надо же было так протормозить. Ведь точно же вижу, что рекурсия...
    Чтобы два раза не вставать - посоветуйте фильтр для такого количества товаров.
     
  9. Ravilr

    Ravilr Специалист

    Сообщения:
    3.863
    Симпатии:
    1.059