Это команда pt-killp, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
pt-kill - Завершить запросы MySQL, соответствующие определенным критериям.
СИНТАКСИС
Использование: pt-kill [ОПЦИИ] [DSN]
pt-kill убивает соединения MySQL. pt-kill подключается к MySQL и получает запросы от SHOW
PROCESSLIST, если ФАЙЛ не указан. В противном случае он читает запросы из одного или нескольких ФАЙЛОВ, которые
содержит вывод SHOW PROCESSLIST. Если ФАЙЛ - -, pt-kill читает из STDIN.
Убить запросы продолжительностью более 60 секунд:
PT-убийство --busy времени 60 --kill
Печатать, не убивать, запросы продолжительностью более 60 секунд:
pt-kill - занято 60 - печать
Проверяйте спящие процессы и убивайте их каждые 10 секунд:
pt-kill --match-command Sleep --kill --vichibited all --interval 10
Распечатать все процессы входа в систему:
pt-kill --match-state логин --print --victors все
Посмотрите, какие запросы в списке процессов прямо сейчас будут соответствовать:
mysql -e "ПОКАЗАТЬ СПИСОК ПРОЦЕССОВ"> proclist.txt
PT-убийство --test синхронизма proclist.txt --busy времени 60 --print
РИСКИ
Percona Toolkit зрелый, проверенный в реальном мире и хорошо протестированный, но все базы данных
инструменты могут представлять опасность для системы и сервера базы данных. Перед использованием этого инструмента,
пожалуйста:
· Прочтите документацию к инструменту
· Просмотрите известные "ОШИБКИ" инструмента.
· Протестируйте инструмент на непроизводственном сервере
· Сделайте резервную копию вашего производственного сервера и проверьте резервные копии
ОПИСАНИЕ
pt-kill захватывает запросы из SHOW PROCESSLIST, фильтрует их, а затем либо уничтожает, либо
печатает их. В некоторых кругах это также известно как «снайпер с медленным запросом». Идея состоит в том, чтобы
следите за запросами, которые могут потреблять слишком много ресурсов, и убивайте их.
Для краткости мы говорим об убийстве запросов, но они могут быть просто напечатаны (или
будущее действие) в зависимости от того, какие варианты даны.
Обычно pt-kill подключается к MySQL для получения запросов от SHOW PROCESSLIST. В качестве альтернативы,
он может читать вывод SHOW PROCESSLIST из файлов. В этом случае pt-kill не подключается к
MySQL и «--kill» не действуют. Вместо этого при чтении файлов следует использовать "--print".
Возможность читать файл с помощью «--test-matching» позволяет вам захватывать SHOW PROCESSLIST
и протестируйте его позже с помощью pt-kill, чтобы убедиться, что ваши совпадения убивают правильные запросы.
Необходимо соблюдать множество специальных правил, например «не убивать потоки репликации», поэтому
будьте осторожны, чтобы не убить что-нибудь важное!
Необходимо знать два важных параметра: "- занято" и "- жертвы". Во-первых, тогда как большинство
параметры сопоставления / фильтрации соответствуют их соответствующему значению из SHOW PROCESSLIST (например,
"--match-command" соответствует значению команды запроса), значение времени соответствует
"--напряженное время". См. Также «--interval».
Во-вторых, «--victors» контролирует, какие совпадающие запросы из каждого класса уничтожаются. К
по умолчанию соответствующий запрос с наивысшим значением времени уничтожается (самый старый запрос). Видеть
следующий раздел «ГРУППА, МАТЧ И УБИЙСТВО» - для более подробной информации.
Обычно вам нужно указать хотя бы одну опцию «--match», иначе никакие запросы не будут соответствовать.
Или вы можете указать "--match-all", чтобы соответствовать всем запросам, которые не игнорируются
Параметр "--ignore".
ГРУППА, МАТЧ И Убить
Запросы проходят несколько этапов, чтобы определить, что именно будет убито (или
напечатано - какое бы действие ни было указано). Понимание этих шагов поможет вам сопоставить
именно те запросы, которые вам нужны.
Первый шаг - это группировка запросов по классам. Параметр "--group-by" управляет
группировка. По умолчанию этот параметр не имеет значения, поэтому все запросы сгруппированы в один.
класс по умолчанию. Все типы сопоставления и фильтрации (следующий шаг) применяются к каждому классу.
Следовательно, вам может потребоваться сгруппировать запросы, чтобы сопоставить / отфильтровать некоторые классы, но не
другие.
Второй шаг - сопоставление. Сопоставление подразумевает фильтрацию, поскольку, если запрос не соответствует
по некоторым критериям он исключен из своего класса. Соответствие происходит для каждого класса. Первый,
запросы отфильтровываются по своему классу с помощью различных параметров «Соответствие запросов», например
"--match-user". Затем целые классы фильтруются с помощью различных параметров «Соответствие классов».
как "--query-count".
Третий шаг - это выбор жертвы, то есть соответствие запросов в каждом классе, которые нужно уничтожить.
Это контролируется параметром «--victors». Хотя многие запросы в классе могут совпадать,
вы можете удалить только самый старый запрос или все запросы и т. д.
Четвертый и последний шаг - предпринять некоторые действия по всем совпадающим запросам из всех классов.
Параметры «Действия» определяют, какие действия будут выполнены. На этом этапе нет
больше классов, всего один список запросов для уничтожения, печати и т. д.
ВЫВОД
Если задано только «--kill», то вывода нет. Если указан только «--print», то
Оператор KILL с отметкой времени, если он печатается для каждого запроса, который был бы уничтожен, например:
# 2009-07-15T15: 04: 01 KILL 8 (запрос 42 сек) SELECT * FROM huge_table
В строке отображается метка времени, идентификатор запроса (8), время (42 секунды) и информация (обычно
запрос SQL).
Если заданы и "--kill", и "--print", соответствующие запросы уничтожаются и появляется строка для
напечатаны все, подобные приведенному выше.
Любая команда, выполняемая с помощью "--execute-command", отвечает за собственный вывод и ведение журнала.
После выполнения pt-kill не контролирует команду и не взаимодействует с ней.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Укажите хотя бы одно из «--kill», «--kill-query», «--print», «--execute-command» или
"--останавливаться".
«-любое-занятое время» и «-каждое-занятое время» исключают друг друга.
«--kill» и «--kill-query» исключают друг друга.
«--daemonize» и «--test-matching» исключают друг друга.
Этот инструмент принимает дополнительные аргументы командной строки. Обратитесь к «ОБЗОРУ» и использованию
информация для подробностей.
--иск-пас
Запрашивать пароль при подключении к MySQL.
--charset
краткая форма: -A; тип: строка
Набор символов по умолчанию. Если значение - utf8, устанавливает binmode Perl на STDOUT на utf8,
передает параметр mysql_enable_utf8 в DBD :: mysql и запускает SET NAMES UTF8 после
подключение к MySQL. Любое другое значение устанавливает binmode на STDOUT без слоя utf8,
и запускает SET NAMES после подключения к MySQL.
--config
тип: Массив
Прочтите этот список файлов конфигурации, разделенных запятыми; если указано, это должно быть первым
параметр в командной строке.
--создать-журнал-таблицу
Создайте таблицу «--log-dsn», если она не существует.
Эта опция вызывает создание таблицы, указанной параметром "--log-dsn", со значением по умолчанию
структура, указанная в документации для этой опции.
- демонизировать
Разверните на задний план и отсоедините от корпуса. Только операционные системы POSIX.
--база данных
краткая форма: -D; тип: строка
База данных, используемая для подключения.
--defaults-файл
краткая форма: -F; тип: строка
Только читать параметры mysql из данного файла. Вы должны указать абсолютный путь.
--фильтр
тип: строка
Отбросить события, для которых этот код Perl не возвращает истину.
Этот параметр представляет собой строку кода Perl или файл, содержащий код Perl, который будет скомпилирован.
в подпрограмму с одним аргументом: $ event. Это хешрейф. Если данное значение
является читаемым файлом, тогда pt-kill читает весь файл и использует его содержимое в качестве
код. Файл не должен содержать шебанг (#!/ usr / bin / perl) линия.
Если код возвращает истину, цепочка обратных вызовов продолжается; в противном случае это заканчивается. В
code - это последний оператор подпрограммы, кроме "return $ event". В
шаблон подпрограммы:
sub {$ event = shift; фильтр && return $ event; }
Фильтры, указанные в командной строке, заключены в круглые скобки, например "(фильтр
) ". Для сложных многострочных фильтров необходимо поместить код в файл, чтобы он
не заключаться в круглые скобки. В любом случае фильтр должен синтаксически создавать
действительный код, указанный в шаблоне. Например, ветвь if-else, заданная в команде
строка будет недействительной:
--filter 'if () {} else {}' # НЕПРАВИЛЬНО
Поскольку это указано в командной строке, ветвь if-else будет заключена внутрь
круглые скобки, что синтаксически неверно. Итак, чтобы выполнить что-то более сложное
для этого потребуется поместить код в файл, например filter.txt:
мой $ event_ok; если (...) {$ event_ok = 1; } еще {$ event_ok = 0; } $ event_ok
Затем укажите --filter filter.txt, чтобы прочитать код из filter.txt.
Если код фильтра не компилируется, pt-kill умрет с ошибкой. Если код фильтра
компилируется, ошибка может возникнуть во время выполнения, если код пытается что-то сделать
неправильно (например, шаблон соответствует неопределенному значению). pt-kill не предоставляет никаких
меры предосторожности, так что кодируйте внимательно!
Код может иметь побочные эффекты (изменять $ event).
--группа по
тип: строка
Примените совпадения к каждому классу запросов, сгруппированных по этому столбцу SHOW PROCESSLIST. В
дополнение к основным столбцам SHOW PROCESSLIST (пользователь, хост, команда, состояние и т. д.),
запросы могут быть сопоставлены «отпечатком пальца», который абстрагирует запрос SQL в «Информация»
колонка.
По умолчанию запросы не группируются, поэтому совпадения и действия применяются ко всем запросам.
Группировка позволяет применять совпадения и действия к классам похожих запросов, если таковые имеются.
запросы в классе match.
Например, обнаружение перебоев в кэше (см. «Все, кроме самых старых» в разделе «--victim») для
объяснение этого термина) требует, чтобы запросы группировались по атрибуту "arg".
Это создает классы идентичных запросов (без комментариев). Таким образом, запросы "ВЫБРАТЬ
c FROM t WHERE id = 1 "и" SELECT c FROM t WHERE id = 1 "сгруппированы в один и тот же класс,
но запрос c <"SELECT c FROM t WHERE id = 3"> не идентичен первым двум запросам, поэтому
он сгруппирован в другой класс. Затем, когда указано "--victors" "все, кроме самых старых",
все запросы, кроме самого старого, в каждом классе уничтожаются для каждого класса запросов, которые
соответствует критериям соответствия.
--Помогите
Показать справку и выйти.
--хозяин
краткая форма: -h; тип: строка; по умолчанию: localhost
Подключитесь к хосту.
--интервал
тип: время
Как часто проверять запросы на удаление. Если "--busy-time" не указано, то
интервал по умолчанию - 30 секунд. В противном случае по умолчанию используется вдвое реже, чем "--busy-time".
Если указаны и "--interval", и "--busy-time", тогда явное значение "--interval"
используется.
См. Также «--run-time».
--бревно
тип: строка
Распечатать весь вывод в этот файл при демонтировании.
--log-DSN
тип: DSN
Храните каждый завершенный запрос в этом DSN.
Аргумент указывает таблицу для хранения всех убитых запросов. Переданный DSN должен
есть опции базы данных (D) и таблицы (t). В таблице должно быть как минимум следующее
столбцы. Вы можете добавить дополнительные столбцы для своих особых целей, но они не будут
используется pt-kill. Следующее определение CREATE TABLE также используется для
"--create-log-table". MAGIC_create_log_table:
СОЗДАТЬ ТАБЛИЦУ kill_log (
kill_id Int(10) беззнаковый NOT NULL AUTO_INCREMENT,
server_id BIGINT(4) НЕ NULL ПО УМОЛЧАНИЮ '0',
отметка времени DATETIME,
причина ТЕКСТ,
kill_error ТЕКСТ,
Id BIGINT(4) НЕ NULL ПО УМОЛЧАНИЮ '0',
Информация о пользователе варчар(16) НЕ ПУСТО ПО УМОЛЧАНИЮ '',
Хозяин варчар(64) НЕ ПУСТО ПО УМОЛЧАНИЮ '',
db варчар(64) ПО УМОЛЧАНИЮ NULL,
Command варчар(16) НЕ ПУСТО ПО УМОЛЧАНИЮ '',
Дата Int(7) НЕ NULL ПО УМОЛЧАНИЮ '0',
Область варчар(64) ПО УМОЛЧАНИЮ NULL,
Информационный длинный текст,
Время_мс BIGINT(21) ПО УМОЛЧАНИЮ '0', # ПРИМЕЧАНИЕ, TODO: в настоящее время не используется
ПЕРВИЧНЫЙ КЛЮЧ (kill_id)
) ДИНАМИКА ПО УМОЛЧАНИЮ = utf8
--пароль
краткая форма: -p; тип: строка
Пароль для использования при подключении. Если пароль содержит запятые, их нужно экранировать.
с обратной косой чертой: "пример \, пожалуйста"
--пид
тип: строка
Создайте данный файл PID. Инструмент не запустится, если файл PID уже существует и
PID, который он содержит, отличается от текущего PID. Однако, если файл PID
существует и содержащийся в нем PID больше не работает, инструмент перезапишет PID
файл с текущим PID. PID-файл автоматически удаляется при выходе из инструмента.
--порт
краткая форма: -P; тип: int
Номер порта для подключения.
--query-идентификатор
Печатает ID запроса, который только что был уничтожен. Это эквивалентно выводу "ID".
из pt-query-digest. Это позволяет делать перекрестные ссылки на результаты обоих инструментов.
Пример:
Идентификатор запроса 0xE9800998ECF8427E
Обратите внимание, что это дайджест (или хэш) «отпечатка пальца» запроса, поэтому запросы
та же форма, но с разными значениями, будет иметь один и тот же идентификатор. См. Pt-query-digest для
больше информации.
--rds
Обозначает, что рассматриваемый экземпляр находится в Amazon RDS. По умолчанию pt-kill запускает MySQL
команда «kill» для «--kill» и «kill query» «--kill-query». На RDS эти двое
команды недоступны и заменяются вызовами функций. Эта опция изменяет
«--kill» для использования «CALL mysql.rds_kill (thread-id)» и «--kill-query» для использования
"ВЫЗОВ mysql.rds_kill_query (идентификатор потока)"
- время выполнения
тип: время
Как долго бежать до выхода. По умолчанию pt-kill работает вечно или до тех пор, пока его процесс
убивается или останавливается созданием файла "--sentinel". Если эта опция
указано, pt-kill запускается в течение указанного времени и засыпает "--interval"
секунд между каждой проверкой PROCESSLIST.
- часовой
тип: строка; по умолчанию: / tmp / pt-kill-sentinel
Выйти, если этот файл существует.
Наличие файла, указанного параметром "--sentinel", приведет к тому, что все запущенные экземпляры
pt-kill для выхода. Вы можете найти это удобным, чтобы изящно останавливать задания cron, если это необходимо.
См. Также «--stop».
--set-варс
тип: Массив
Задайте переменные MySQL в этом списке пар «переменная = значение», разделенном запятыми.
По умолчанию набор инструментов:
wait_timeout = 10000
Переменные, указанные в командной строке, отменяют эти значения по умолчанию. Например,
указание "--set-vars wait_timeout = 500" отменяет значение по умолчанию 10000.
Инструмент выводит предупреждение и продолжает, если переменная не может быть установлена.
--разъем
краткие формы; тип: строка
Файл сокета, используемый для подключения.
--останавливаться
Остановите запуск экземпляров, создав файл «--sentinel».
Заставляет pt-kill создать контрольный файл, указанный параметром "--sentinel", и завершить работу. Этот
должен иметь эффект остановки всех запущенных экземпляров, которые наблюдают за одним и тем же
дозорный файл.
- [нет] полос-комментариев
по умолчанию: да
Удалите комментарии SQL из запросов в столбце Info списка PROCESSLIST.
--Пользователь
краткая форма: -u; тип: строка
Пользователь для входа, если не текущий пользователь.
--версия
Показать версию и выйти.
- [нет] проверки версии
по умолчанию: да
Проверьте наличие последней версии Percona Toolkit, MySQL и других программ.
Это стандартная функция "автоматической проверки обновлений" с двумя дополнительными
Особенности. Сначала инструмент проверяет версию других программ в локальной системе в
дополнение к собственной версии. Например, он проверяет версию каждого сервера MySQL.
он подключается к Perl и модулю Perl DBD :: mysql. Во-вторых, он проверяет и предупреждает
о версиях с известными проблемами. Например, в MySQL 5.5.25 была критическая ошибка и
был переиздан как 5.5.25a.
Все обновления или известные проблемы распечатываются в STDOUT перед обычным выводом инструмента.
Эта функция никогда не должна мешать нормальной работе инструмента.
Для получения дополнительной информации посетите .
- жертвы
тип: строка; по умолчанию: самый старый
Какой из подходящих запросов в каждом классе будет убит. После занятий были
сопоставлено / отфильтровано, этот параметр указывает, какой из подходящих запросов в каждом классе
будут убиты (или напечатаны и т. д.). Возможны следующие значения:
самый старший
Убейте только самый старый запрос. Это сделано для предотвращения убийства запросов, которые не
действительно долго, они просто долго ждут. Это сортирует совпадающие запросы по
Time и убивает того, у кого наивысшее значение Time.
all Убить все запросы в классе.
почти самый старый
Убейте все, кроме самого старого запроса. Это значение, обратное "самому старому".
Это значение можно использовать для предотвращения "заедания кэша", состояния, при котором несколько
идентичные запросы выполняются и создают невыполненный журнал, пока первый запрос пытается
заканчивать. Поскольку все запросы идентичны, все запросы, кроме первого, уничтожаются, поэтому
что он может заполнить и заполнить кеш.
- ждать после убийства
тип: время
Подождите после убийства запроса, прежде чем искать больше, чтобы убить. Целью этого является
чтобы дать заблокированным запросам возможность выполнить, чтобы мы не убивали запрос, который блокирует
кучу других, а затем сразу же убейте остальных.
- ждать перед убийством
тип: время
Подождите, прежде чем убивать запрос. Это делается для того, чтобы указать "--execute-command"
возможность увидеть соответствующий запрос и собрать другую информацию о MySQL или системе раньше
это убито.
ЗАПРОС МАТЧИ
Эти параметры фильтруют запросы по их классам. Если запрос не соответствует, он удаляется
от своего класса. Опции «--ignore» имеют приоритет. Матчи для command, db,
host и т. д. соответствуют столбцам, возвращаемым SHOW PROCESSLIST: Command, db, Host и т. д.
Все совпадения с образцом по умолчанию чувствительны к регистру, но их можно сделать без учёта регистра
указав шаблон регулярного выражения, например "(? i-xsm: select)".
См. Также «ГРУППА, МАТЧ И УБИЙСТВО».
--напряженное время
тип: время; группа: Совпадения запросов
Соответствовать запросам, которые выполнялись дольше этого времени. Запросы должны быть
в Command = Статус запроса. Это соответствует значению времени запроса, как сообщает SHOW.
СПИСОК ПРОЦЕССОВ.
--время простоя
тип: время; группа: Совпадения запросов
Соответствует запросам, которые бездействовали / спали дольше этого времени. Запросы
должен находиться в состоянии Command = Sleep. Это соответствует значению времени запроса, как сообщает
ПОКАЗАТЬ СПИСОК ПРОЦЕССОВ.
--игнорировать-команда
тип: строка; группа: Совпадения запросов
Игнорировать запросы, команда которых соответствует этому регулярному выражению Perl.
См. "--Match-command".
--игнорировать БД
тип: строка; группа: Совпадения запросов
Игнорировать запросы, db (база данных) которых соответствует этому регулярному выражению Perl.
См. "--Match-db".
--игнорировать хост
тип: строка; группа: Совпадения запросов
Игнорировать запросы, хост которых соответствует этому регулярному выражению Perl.
См. "--Match-host".
--игнорировать-информация
тип: строка; группа: Совпадения запросов
Игнорировать запросы, информация (запрос) которых соответствует этому регулярному выражению Perl.
См. "--Match-info".
- [нет] игнорировать себя
по умолчанию: да; группа: Совпадения запросов
Не убивайте собственное соединение pt-kill.
--игнорировать-состояние
тип: строка; группа: совпадения запросов; по умолчанию: заблокировано
Игнорировать запросы, состояние которых соответствует этому регулярному выражению Perl. По умолчанию потоки
от того, чтобы быть убитыми, если они заблокированы в ожидании другого потока.
См. "--Match-state".
--игнорировать пользователя
тип: строка; группа: Совпадения запросов
Игнорировать запросы, пользователь которых соответствует этому регулярному выражению Perl.
См. "--Match-user".
- матч-все
группа: Совпадения запросов
Соответствуют всем запросам, которые не игнорируются. Если параметры игнорирования не указаны, то
все запросы совпадают (кроме потоков репликации, кроме случаев, когда "--replication-threads"
также указано). Эта опция позволяет указывать отрицательные совпадения, то есть «совпадение
каждый запрос кроме... ", где исключения определяются путем указания различных
Параметры "--ignore".
Эта опция то же самое, что и «- жертвы» «все». Эта опция соответствует всем запросам
внутри класса, тогда как «--victors» «all» указывает, что все совпадающие запросы в
класс (как бы они ни совпадали) будет убит. Однако обычно используются два
вместе, потому что если, например, вы укажете "--victim" "самый старый", то хотя все
запросы могут совпадать, удаляются только самые старые.
--match-команда
тип: строка; группа: Совпадения запросов
Соответствовать только запросам, команда которых соответствует этому регулярному выражению Perl.
Общие значения команд:
запрос
Размещение
Дамп бинлога
Объединяйтесь
Отложенная вставка
Выполнить
получать
БД инициализации
Убийство
Подготовить
Список процессов
Выход
Сбросить stmt
Дамп таблицы
Видетьhttp://dev.mysql.com/doc/refman/5.1/en/thread-commands.html> для полного списка и
описание значений Команды.
--match-дб
тип: строка; группа: Совпадения запросов
Соответствовать только запросам, у которых db (база данных) соответствует этому регулярному выражению Perl.
- матч-хост
тип: строка; группа: Совпадения запросов
Соответствовать только запросам, хост которых соответствует этому регулярному выражению Perl.
Значение Host часто включает порт, например "host: port".
--match-инфо
тип: строка; группа: Совпадения запросов
Соответствовать только запросам, информация (запрос) которых соответствует этому регулярному выражению Perl.
Столбец Info списка процессов показывает выполняемый запрос или NULL, если
ни один запрос не выполняется.
- состояние соответствия
тип: строка; группа: Совпадения запросов
Соответствовать только запросам, состояние которых соответствует этому регулярному выражению Perl.
Общие государственные ценности:
Заблокированный
Войти
скопировать в таблицу tmp
Копирование в таблицу tmp
Копирование в таблицу tmp на диске
Создание таблицы tmp
проведение
Чтение из сети
Отправка данных
Сортировка под заказ
Результат сортировки
Блокировка стола
Обновление
Видетьhttp://dev.mysql.com/doc/refman/5.1/en/general-thread-states.html> за полный
список и описание государственных ценностей.
--match пользователь
тип: строка; группа: Совпадения запросов
Соответствовать только запросам, пользователь которых соответствует этому регулярному выражению Perl.
--репликационные потоки
группа: Совпадения запросов
Разрешить сопоставление и уничтожение потоков репликации.
По умолчанию совпадения не применяются к потокам репликации; т.е. потоки репликации
полностью игнорируется. Указание этого параметра позволяет совпадать (и потенциально
kill) потоки репликации на мастерах и подчиненных.
--test синхронизма
тип: массив; группа: Совпадения запросов
Файлы со снимками списка процессов для проверки опций сопоставления. Поскольку соответствие
параметры могут быть сложными, вы можете сохранить снимки списка процессов в файлы, а затем протестировать
параметры сопоставления с запросами в этих файлах.
Эта опция отключает "--run-time", "--interval" и "- [no] ignore-self".
ЗАНЯТИЕ МАТЧИ
Эти совпадения применяются ко всем классам запросов. Классы создаются путем указания
Параметр «--group-by», иначе все запросы являются членами одного класса по умолчанию.
См. Также «ГРУППА, МАТЧ И УБИЙСТВО».
--в любое-занятое время
тип: время; группа: Классные матчи
Сопоставьте класс запроса, если какой-либо запрос выполняется дольше этого времени. "Дольше
than "означает, что если вы укажете, например, 10, класс будет соответствовать только в том случае, если есть
хотя бы один запрос, который выполнялся более 10 секунд.
См. «--Each-busy-time» для более подробной информации.
- каждое занятое время
тип: время; группа: Классные матчи
Сопоставьте класс запроса, если каждый запрос выполняется дольше этого времени. "Дольше
than "означает, что если вы укажете, например, 10, класс будет соответствовать, только если каждый и
каждый запрос выполнялся более 10 секунд.
См. Также «--any-busy-time» (чтобы соответствовать классу, если ЛЮБОЙ запрос выполняется дольше, чем
в указанное время) и "--время занятости".
-- количество запросов
тип: int; группа: Классные матчи
Сопоставьте класс запроса, если у него хотя бы такое количество запросов. Когда запросы сгруппированы в
классы, указав "--group-by", этот параметр приводит к тому, что совпадения применяются только к
классы, по крайней мере, с таким количеством запросов. Если "--group-by" не указан, то это
опция приводит к тому, что совпадения применяются только в том случае, если в
весь ПРОЦЕССОР ВЫСТАВКИ.
--подробный
короткая форма: -v
Распечатайте в STDOUT информацию о том, что делается.
Действия
Эти действия выполняются для каждого соответствующего запроса из всех классов. Действия предприняты
в следующем порядке: «--print», «--execute-command», «--kill» / «- kill-query». Этот порядок позволяет
«--execute-command», чтобы увидеть вывод «--print» и запроса перед
"--kill" / "- kill-query". Это может быть полезно, потому что pt-kill не передает никаких
информация для "--execute-command".
См. Также «ГРУППА, МАТЧ И УБИЙСТВО».
--execute-команда
тип: строка; группа: Действия
Выполните эту команду при совпадении запроса.
После выполнения команды pt-kill не может ее контролировать, поэтому команда
отвечает за сбор собственной информации, регистрацию, интервал и т. д. Команда
выполняется каждый раз, когда запрос совпадает, поэтому будьте осторожны, чтобы команда работала правильно, когда
запускаются несколько экземпляров. Никакая информация от pt-kill не передается команде.
См. Также «--wait-before-kill».
--убийство
группа: Действия
Убейте соединение по совпадающим запросам.
Эта опция заставляет pt-kill уничтожать соединения (также известные как процессы, потоки), которые имеют
соответствующие запросы. Используйте "--kill-query", если вы хотите убить только отдельные запросы и
не их связи.
Если также не указан «--print», никакая другая информация, показывающая, что pt-
kill совпал и убил запрос.
См. Также «--wait-before-kill» и «--wait-after-kill».
--kill-запрос
группа: Действия
Убить совпадающие запросы.
Эта опция заставляет запросы соответствия pt-kill kill. Для этого требуется MySQL 5.0 или новее.
В отличие от "--kill", который прерывает соединение для совпадающих запросов, этот параметр только
убивает запрос, а не его соединение.
--Распечатать
группа: Действия
Вывести оператор KILL для сопоставления запросов; фактически не уничтожает запросы.
Если вы просто хотите увидеть, какие запросы совпадают и будут убиты без фактического
убивая их, укажите "--print". Чтобы уничтожить и распечатать соответствующие запросы, укажите
оба "--kill" и "--print".
DSN ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Эти параметры DSN используются для создания DSN. Каждая опция дается как «option = value».
Параметры чувствительны к регистру, поэтому P и p - это не одно и то же. Не может быть
пробел до или после "=", и если значение содержит пробелы, его следует заключить в кавычки.
Параметры DSN разделяются запятыми. См. Полную информацию на странице руководства percona-toolkit.
· А
dsn: кодировка; копия: да
Набор символов по умолчанию.
· Д
dsn: база данных; копия: да
База данных по умолчанию.
· Ф
dsn: mysql_read_default_file; копия: да
Только читать параметры по умолчанию из данного файла
· Ч
dsn: host; копия: да
Подключитесь к хосту.
· п
dsn: пароль; копия: да
Пароль для использования при подключении. Если пароль содержит запятые, их нужно экранировать.
с обратной косой чертой: "пример \, пожалуйста"
· П
dsn: порт; копия: да
Номер порта для подключения.
· С
dsn: mysql_socket; копия: да
Файл сокета, используемый для подключения.
· U
dsn: пользователь; копия: да
Пользователь для входа, если не текущий пользователь.
· Т
Таблица для регистрации действий, если она передана через --log-dsn.
ОКРУЖАЮЩАЯ СРЕДА
Переменная среды «PTDEBUG» включает вывод подробной отладки в STDERR. Включить
отладку и запись всего вывода в файл, запустите инструмент, например:
PTDEBUG = 1 pt-kill ...> ФАЙЛ 2> & 1
Будьте осторожны: вывод отладки очень объемный и может генерировать несколько мегабайт вывода.
СИСТЕМА ТРЕБОВАНИЯ
Вам понадобятся Perl, DBI, DBD :: mysql и некоторые основные пакеты, которые должны быть установлены в любом
разумно новая версия Perl.
Используйте pt-killp онлайн с помощью сервисов onworks.net