Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Повышенная нагрузка на SQL


Recommended Posts

Добрый день! Нужна помощь сообщества :-)

В интернет-магазине примерно 520 наименований товаров. Несколько месяцев назад  мы начали получать письма от хостинга с предупреждением о превышении нагрузки на базу. По тарифному плану суточный лимит MySQL был установлен 900 сек, но были значения 950-1100. Основную нагрузку давал такой запрос:

Спойлер

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 = NNN AND p.status = NNN AND p.date_available <= NOW() AND p2s.store_id = NNN AND cp.path_id = NNN

 

Почитав этот форум, нашел рекомендацию убрать из настроек магазина подсчет количества товаров в группах (было 13 групп). Первое время это помогало, но потом опять   начались случаи перебора. Решили перейти на другой тарифный план, с лимитом нагрузки на базу 1350 сек (такого значения не было вообще никогда). Вроде бы уже обрадовались, все нормально - и тут вчера получаем нагрузку 3799, то есть 181% превышения. Как такое возможно в магазине с относительно небольшим количеством товара? Я под спойлером даю статистику по сайту. Как видите, имеет место скачок посещаемости 14.11, но в то же время 27 и 28 октября посещаемость была больше 25000, при этом нагрузка за пределы нормы даже и близко не выходила. Как раз 27-28 числа я размещал материалы со ссылкой на сайт (точнее на форума магазина, а не сам магазин) в нашей группе в Фейсбуке, этим можно объяснить рост посетителей в те дни. Так же я делал пост в Фейсбуке и 13 числа, тоже со ссылкой на форума магазина. Опять посещаемость выросла, но при этом и зашкалила нагрузка. Это не может быть признаком какой-то атаки например?

 

Спойлер

2018-11-15_211916.jpg.7ec6f278664727f51d5a2b4c618d9a6e.jpg

 

Еще вопрос. В приведенном выше коде запроса есть условие

WHERE pd.language_id = NNN

В админке магазина был установлен (но отключен для использования) язык, который фактически не использовался (планировалось включить в будущем). Сейчас я его вообще удалил из языковых настроек, оставив только те, которые реально используются на сайте магазина. Это может повлиять на снижение нагрузки? Заранее всем спасибо за помощь! 

Надіслати
Поділитися на інших сайтах


29 минут назад, Snemkovich сказал:

подсчет количества товаров

при

 

30 минут назад, Snemkovich сказал:

520 наименований товаров.

Это пыль, чтоб создавать нагрузку?

Может у вас очень недорогой тарифный план?

Надіслати
Поділитися на інших сайтах

24 минуты назад, chukcha сказал:

Это пыль, чтоб создавать нагрузку?

Может у вас очень недорогой тарифный план?

 

Я тоже думал, что 520 наименований - не тот объем, при котором можно переживать за лимиты SQL, но увы... Тарифный план не "ультра" конечно, но и не самый дешевый. А раньше без проблем хватало и начального. Конечно, ассортимент растет, но я ожидал "плавный" рост нагрузки. То есть даже если и будет перебор - то это будет стабильная тенденция к росту. А в данном случае имеем резкие скачки без каких -то видимых на то причин :(

Змінено користувачем Snemkovich
Надіслати
Поділитися на інших сайтах


56 минут назад, Otvet сказал:

25000 чего?

Я так понимаю, что это количество запросов к базе (по крайней мере так называется колонка в таблице со статистикой, которую я приложил в первом посте: "Посещаемость (запросы)")

Надіслати
Поділитися на інших сайтах


3 часа назад, chukcha сказал:

Может у вас очень недорогой тарифный план?

А может хостер вымогатель, сам ддосит, что выдавить с вас еще "больше"
Посмотрите логи кто создал вам нагрузку, поисковые боты или "не понятный" ддос

550 товаров - это пшик для любого хостинга за 5 копеек

Надіслати
Поділитися на інших сайтах

49 минут назад, markimax сказал:

Посмотрите логи кто создал вам нагрузку, поисковые боты или "не понятный" ддос

Поднял логи, 14 числа примерно с 13-23 по 14-38 с одного и того же IP-адреса прошло почти 8000 обращений к сайту через порт 80. Похоже и правда атака?

Надіслати
Поділитися на інших сайтах


3 минуты назад, Snemkovich сказал:

Поднял логи, 14 числа примерно с 13-23 по 14-38 с одного и того же IP-адреса прошло почти 8000 обращений к сайту через порт 80. Похоже и правда атака?

А IP чей? Пробили по "базе"?
Если вообще левый и хостер "левый" вымогатель - мог сам и устроить, чтобы больше денег с вас выкачать. Как то встречал такое, самое интересное даже не скрылись за прокси, атака была прямо с IP хостера. Так такие такие бывают

Надіслати
Поділитися на інших сайтах

11 часов назад, markimax сказал:

А IP чей? Пробили по "базе"?
Если вообще левый и хостер "левый" вымогатель - мог сам и устроить, чтобы больше денег с вас выкачать. Как то встречал такое, самое интересное даже не скрылись за прокси, атака была прямо с IP хостера. Так такие такие бывают

IP показывает принадлежность к Швеции, с адресом хостера не совпадает. В принципе хостингом довольны, работаем с ними уже 4 года по-моему, не было каких-то нареканий у ним.

10 часов назад, pimur сказал:

Был случай когда Гугл бот, ддосил с рекламы на проверку актуальности объявлений. Как то так.

Гугловской рекламы нет у нас

Надіслати
Поділитися на інших сайтах


6 минут назад, Snemkovich сказал:

IP показывает принадлежность к Швеции, с адресом хостера не совпадает. В принципе хостингом довольны, работаем с ними уже 4 года по-моему, не было каких-то нареканий у ним.

 

Мог "засесть" за прокси

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.