6

Я работаю на большом общем сервере Ubuntu и раздражаю своих коллег. Один из моих процессов делает много вставок в базу данных MySQL, и это приводит к зависанию всего сервера.

MySQL не использует большую часть ресурсов ЦП или ОЗУ. Если бы это было так, я мог бы использовать инструменты 'nice' и 'ulimit' для регулирования процесса (на самом деле я использую nice на MySQL, и это не помогает). Вместо этого MySQL, похоже, выполняет множество операций чтения и записи на произвольном диске, поэтому, когда кто-либо хочет прочитать или записать файл с диска, он должен подождать секунду или две, что неприемлемо для интерактивного использования.

Любые мысли о том, что я могу сделать, чтобы ограничить дисковый ввод-вывод MySQL? (Я ищу решение на уровне ОС или ядра, а не предложение изменить настройки оборудования моей системы).

То, что мне нужно, хорошо описано на доске объявлений здесь.

1 ответ1

4

ionice (часть util-linux) может регулировать приоритет ввода / вывода процесса, позволяя выбирать между 8 режимами ожидания, "максимальным усилием" и 8 уровнями приоритета в реальном времени. Класс 3 "простаивает":

ionice -c 3 -p $(pgrep -x mysqld)

schedtool может настроить общую политику планирования, опять же с "бездействием", являющимся одним из вариантов:

schedtool -D $(pgrep -x mysqld)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .