Ограничить запросы к БД

12
smscat
На сайте с 23.02.2006
Offline
50
#11
lingod:
а как нибудь можно сделать чтобы запрос не мог более ХХ секунд исполнялся?

На MySQL вроде бы нельзя. Есть там костыли вроде innodb_max_lock_time, но это не то и работает не так. Так что лучше всего отловить запросы, которые исполняются секунду и больше и что-то сделать с оптимизацией - создать нужные индексы, разбить запрос на несколько, реорганизовать хранение данных...

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#12

Проблема не в запросах, а в скрипте, который их создаёт.

В консоле посмотрите, что за файл создаёт такие запросы и всё. Он точно должен висеть в топах.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
smscat
На сайте с 23.02.2006
Offline
50
#13
LEOnidUKG:
Проблема не в запросах, а в скрипте, который их создаёт.
В консоле посмотрите, что за файл создаёт такие запросы и всё. Он точно должен висеть в топах.

когда запрос исполняется ХХ секунд, то проблема в запросе. нужно включить в настройках mysql запись slow_query_log и поработать над оптимизацией конкретных запросов. а в топе будет висеть среда исполнения - php, apache или что там является процессом для вебсервера.

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#14
smscat:
когда запрос исполняется ХХ секунд, то проблема в запросе. нужно включить в настройках mysql запись slow_query_log и поработать над оптимизацией конкретных запросов. а в топе будет висеть среда исполнения - php, apache или что там является процессом для вебсервера.

Тут двояко, может гадость и в кроне сидеть или при каждом посетителе выполнятся.

smscat
На сайте с 23.02.2006
Offline
50
#15
LEOnidUKG:
Тут двояко, может гадость и в кроне сидеть или при каждом посетителе выполнятся.

рецепт универсальный - slow_query_log даст список тормозных запросов, а по нему и станет сразу понятно кто, на какой схеме(базе), что и по какому поводу пытается делать. скорее всего всё элементарно решится созданием индекса.

seomaniac
На сайте с 30.06.2008
Offline
66
#16

В общем-то такая ситуация случилась 3 раз за неполные 2 месяца.

Последний раз было из-за того, что пользователь на wp запустил парсер FeedWordPress (с 90 источников для парсинга), за что был отшлепан.

Найти и отключить такого пользователя, а затем провести разъяснительную беседу не проблема. Но хотелось бы, чтобы это было автоматизированно.

Предложение netwind заманчиво. Но насколько оно поможет в этой ситуации?

Стабильный тИЦ для ваших сайтов! (/ru/forum/862132)
AN
На сайте с 05.06.2004
Offline
243
#17
seomaniac:
кривой скрипт, который создает огромное кол-во запросов к БД. В следствии чего сервер виснет.
seomaniac:
max_user_connections=30
Не помогает.

И не поможет, запросы, выполняемые в одном скрипте, как правило, идут в рамках одного коннекта к базе. Вроде есть какие-то настройки (сорри, сейчас не до копания в доках, поэтому конкретнее не скажу), которые позволяют на каждый запрос открывать свой коннект, тогда ограничение на max_user_connections сработает так как нужно ТС, но при этом начнутся большие тормоза при работе с базой (установка коннекта - гораздо более медленная операция, чем "легкий" селект в рамках уже открытого коннекта).

netwind:
Нужно использовать скрипт отстреливающий длинные запросы на выборку

Да, видимо надо идти в этом направлении, только, насколько я понял, у ТС проблема не в "тяжести" запросов, а в огромном количестве мелких (что и надо будет отслеживать скриптом).

Размещу ваши баннеры на посещаемых сайтах. Места еще есть! Возможен безнал. (/ru/forum/324945) Нужны копирайтеры/рерайтеры - медики. Пишите в личку. (/ru/forum/676932)
Andreyka
На сайте с 19.02.2005
Offline
822
#18
seomaniac:
Предложение netwind заманчиво. Но насколько оно поможет в этой ситуации?

Не поможет. Так как парсинг - это прежде всего запись в базу, а он предлагает чтение лимитировать.

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

Не стоит плодить сущности без необходимости
N
На сайте с 06.05.2007
Offline
419
#19
Andreyka:
С другой стороны - у меня есть варианты автоматизации отслеживания нагрузки, но без ее ограничения. Если интересно - обращайтесь.

Начинается. Опять сикретики.

Или пользователь завалит сервер или его скрипты перестанут выполняться.

Andreyka:
Не поможет. Так как парсинг - это прежде всего запись в базу, а он предлагает чтение лимитировать.

Логично размышляете в рамках ранее озвученного. Но ведь можно рассчитывать ресурсы и другими методами. Разве взрослые люди не договорятся?

Кнопка вызова админа ()
Andreyka
На сайте с 19.02.2005
Offline
822
#20

netwind, не сикретики, а скриптики.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий