За последние 24 часа нас посетили 56840 программистов и 1790 роботов. Сейчас ищут 877 программистов ...

Медленные запросы к mysql

Тема в разделе "MySQL", создана пользователем nazar-com, 16 мар 2015.

  1. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
    Здравствуйте.
    У меня интернет магазин dom . net . ua на Opencart 1.5.6 при заполнении нового товара или редактирования (когда нажимаю клавишу сохранить) выкидывает из админки на страницу авторизации и пишет вот что:
    Мне сказали что есть медленные запросы я зашел но не могу понять что за ряды и что за сканирование
    (IP не наш)
    Дата Скан. рядов Получено рядов Время Блокировка IP
    16.03.2015 10:42:07 6018442 2338 00:00:05 00:00:00 91.206.201.86

    Текст запроса - SELECT p.product_id, pd.name, GROUP_CONCAT( DISTIN

    Что это такое, возможно вирус?
    Подскажите пожалуйста
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Что за сканирование, не знаю, а Ряды - это надмозговый перевод слова Rows, строки. Строки базы данных, которые на что-то проверялись.
     
  3. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
    Спасибо, мне это уже объяснили, что это строки БД, а вот кто их проверяет и зачем в таком количестве?
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Вы же понимаете, что спрашиваете это у людей, которые не имеют доступа к вашему серверу и исходникам?
     
  5. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
    Да, я просто спрашиваю может ли это быть вирус, либо чтото еще? Возможно у кого то была похожая проблема.
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Окей, скажу более понятно - с равной вероятностью это может быть чем угодно. Или чем угодно, маскирующимся под что угодно.
     
  7. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
    SELECT p.product_id, pd.name, GROUP_CONCAT( DISTINCT CAST(pc.category_id AS CHAR(11)) SEPARATOR \",\" ) AS categories, p.sku, p.upc, p.ean, p.jan, p.isbn, p.mpn, p.location, p.quantity, p.model, m.name AS manufacturer, p.image AS image_name, p.shipping, p.price, p.points, p.date_added, p.date_modified, p.date_available, p.weight, wc.unit, p.length, p.width, p.height, p.status, p.tax_class_id, p.viewed, p.sort_order, pd.language_id, ua.keyword, pd.description, pd.meta_description, pd.meta_keyword, pd.tag, pd.seo_title, pd.seo_h1, p.stock_status_id, mc.unit AS length_unit, p.subtract, p.minimum, GROUP_CONCAT( DISTINCT CAST(pr.related_id AS CHAR(11)) SEPARATOR \",\" ) AS related FROM `oc_product` p LEFT JOIN `oc_product_description` pd ON p.product_id=pd.product_id AND pd.language_id=1 LEFT JOIN `oc_product_to_category` pc ON p.product_id=pc.product_id LEFT JOIN `oc_url_alias` ua ON ua.query=CONCAT('product_id=',p.product_id) LEFT JOIN `oc_manufacturer` m ON m.manufacturer_id = p.manufacturer_id LEFT JOIN `oc_weight_class_description` wc ON wc.weight_class_id = p.weight_class_id AND wc.language_id=1 LEFT JOIN `oc_length_class_description` mc ON mc.length_class_id=p.length_class_id AND mc.language_id=1 LEFT JOIN `oc_product_related` pr ON pr.product_id=p.product_id GROUP BY p.product_id ORDER BY p.product_id, pc.category_id

    Я не понимаю в запросах БД помогите пожалуйста понять что значит этот запрос.

    Добавлено спустя 30 секунд:
    Спасобо что тратите свое время на меня.
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Пробежал по диагонали.
    Запрашивает список продуктов/товаров с их свойствами и ссылками на них. Ничего сверхъестественного не вижу.
     
  9. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    1) У вас резкий наплыв посетителей;
    2) Вас DDOSят конкуренты;
    3) Вас усиленно парсят;

    Выбирайте любой.
     
  11. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
    Спасибо огромное за ответы
     
  12. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Наверное хостинг слабоват для этого движка - вот и вся беда.
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Сомневаюс, что это из-за слабого хостинга. Больше похоже как раз на DDOS-атаку.

    Добавлено спустя 39 секунд:
    Автор, а еще у тебя что-то сломалось:

     
  14. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
    А можете сказать что могло сломаться, хотя бы приблизительно?

    Добавлено спустя 1 минуту 7 секунд:
    но я же делал откат на 2 дня сразу как возникла проблема, поломка этим не могла исправиться?
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Переведите текст ошибок на русский, поймете "приблизительно" что сломалось и, более того, в каком файле и в какой строке.
     
  16. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
    Спасибо
     
  17. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    ты правда поверил в эти цифры? у движка просто на страницу делается 20-100 запросов. это без малого 6 миллионов.

    Добавлено спустя 5 минут 7 секунд:
    проблема может быть, например, в том, что кеш не работает. или автор подключил много красивеньких но тупых плагинов. поэтому запросов овер-дохера.
     
  18. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    То есть у него минимум 10.000 посетителей в секунду? Тогда это подпадает в пункт "наплыв посетителей".
     
  19. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    программисты! 6млн это то же самое, что 9000. просто "слишком много".

    Добавлено спустя 29 секунд:
    автор, ты конкретно тот долгий запрос уже искал, зачем он и где?

    Добавлено спустя 5 минут 8 секунд:
    и еще, не стоит на статус 404 выдавать здоровенную хуету со всеми эпическими подменю, шапками и подвалами, которые стопудово тоже просят по 100 sql-query.
    представим: обычная страничка по недосмотру обращается к паре дохлых ресурсов. сама страничка делает кучу запросов и каждый четырестачетвертый еще столько же. итого: много-много запросов.
     
  20. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    " 6 милионов за 5 сек" я воспринял как значение, снятое с какой-то статистической тулзы...
     
  21. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
    Добавлено спустя 5 минут 7 секунд:
    Я поставил только 4 плагина которые не шли в базовой комплектиации OcShop 1.5.6, это новости, фильтр (CoolFilter by ocshop.info) и плагин выкачки БД и табы, и все это работало 2 месяца нормально, было 70/80 тысяч, эти 6 млн появились только 12, 13 и 16 марта 2015.

    Добавлено спустя 2 минуты 2 секунды:
    У меня 100 посетителей за день всего

    Добавлено спустя 1 минуту 54 секунды:
    Я зашел в панель хост админки, там есть такое MySQL - Медленные запросы и там таблица запросов по днях, вот там и нашел эти 6 милионов

    Добавлено спустя 4 минуты 54 секунды:
    Спасибо, я дал задание верстальщику порезать 404 страницу.

    Добавлено спустя 1 минуту 13 секунд:
    Да, как я писал выше, это панель хост админки, там есть такое "MySQL - Медленные запросы" и там таблица запросов по днях, вот там и нашел эти 6 милионов.
     
  22. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    6 млн __(чего)___ за ___(срок)___ ? сервера просто не способны принимать столько запросов за секунды.
    вангую: «за время измерений в slow-log накоплено порядка 6млн записей. запрос, который процитирован, выполняся 5сек.» так?

    Добавлено спустя 9 минут 2 секунды:
    запрос этот с group_concat() конечно чудовищный. надеюсь он не из самого движка, а сбоку припеку. потому что он
    1. неверный, нельзя так группировать, и
    2. жрет ресурсы мама не горюй

    найти источник и вырезать!
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Принимать легко :)
    Принять != обработать...
     
  24. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Фел, поциент плачет над майсиквельным слоу-логом. не бывает миллионов медленных запросов за секунды! потому что они медленные.

    Добавлено спустя 1 минуту 10 секунд:
    Чтобы решить задачу надо сначала нормально ее сформулировать. Поэтому я здесь занудствую )
     
  25. nazar-com

    nazar-com Активный пользователь

    С нами с:
    16 мар 2015
    Сообщения:
    77
    Симпатии:
    0
    SELECT p.product_id, pd.name, GROUP_CONCAT( DISTINCT CAST(pc.category_id AS CHAR(11)) SEPARATOR \",\" ) AS categories, p.sku, p.upc, p.ean, p.jan, p.isbn, p.mpn, p.location, p.quantity, p.model, m.name AS manufacturer, p.image AS image_name, p.shipping, p.price, p.points, p.date_added, p.date_modified, p.date_available, p.weight, wc.unit, p.length, p.width, p.height, p.status, p.tax_class_id, p.viewed, p.sort_order, pd.language_id, ua.keyword, pd.description, pd.meta_description, pd.meta_keyword, pd.tag, pd.seo_title, pd.seo_h1, p.stock_status_id, mc.unit AS length_unit, p.subtract, p.minimum, GROUP_CONCAT( DISTINCT CAST(pr.related_id AS CHAR(11)) SEPARATOR \",\" ) AS related FROM `oc_product` p LEFT JOIN `oc_product_description` pd ON p.product_id=pd.product_id AND pd.language_id=1 LEFT JOIN `oc_product_to_category` pc ON p.product_id=pc.product_id LEFT JOIN `oc_url_alias` ua ON ua.query=CONCAT('product_id=',p.product_id) LEFT JOIN `oc_manufacturer` m ON m.manufacturer_id = p.manufacturer_id LEFT JOIN `oc_weight_class_description` wc ON wc.weight_class_id = p.weight_class_id AND wc.language_id=1 LEFT JOIN `oc_length_class_description` mc ON mc.length_class_id=p.length_class_id AND mc.language_id=1 LEFT JOIN `oc_product_related` pr ON pr.product_id=p.product_id GROUP BY p.product_id ORDER BY p.product_id, pc.category_id

    Вот таких запросов 6 млн, выполнялись 5 сек, 1 раз в день 16,03,2015