Как дросселировать или приоритетировать запрос в MySQL

StackOverflow https://stackoverflow.com/questions/3134350

Вопрос

Есть ли в любом случае, чтобы приоритетировать или дрочить запрос вообще в MySQL?

Я DBA на сервере, который видит много неоптимизированных запросов на сервер, и они просто разрушают процессор. Я смотрю на дросселирование некоторых пользователей, которые ударили в базу данных в плохой моде.

Разъяснение:

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

Это было полезно?

Решение

http://dev.mysql.com/doc/refman/4.1/en/user-resources.html.

Начиная с MySQL 4.0.2, вы можете ограничить доступ к следующим ресурсам сервера для отдельных учетных записей:

Количество запросов, которые могут выдавать учетную запись в час

Количество обновлений, которые может выдавать учетную запись в час

Количество раз учетная запись может подключаться к серверу в час

Дополнительная информация -

MySQL не имеет значения тайм-аута, либо любой другой встроенный путь к включению отдельного запроса. Тем не менее, довольно тривиально написать скрипт, который убьет долгосрочные запросы. Вы можете даже захватить пользователя и запрос, чтобы вы могли позже побить оскорбительнее пользователя / программист.

Здесь является примером одного с использованием Perl.

Другие советы

Я знаю, что имеет PhpmyAdmin область для максимального количества запросов в час, Max # обновления в час, максимальный # соединений в час, а Max # пользовательских соединений на каждого пользователя. Возможно, есть другие способы установки этих ценностей, кроме PHPMYADMIN

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top