Высокая скорость ввода-вывода при записи на диск и заблокированные операторы SQL INSERT - PullRequest
0 голосов
/ 23 марта 2011

У меня проблема с высоким ожиданием ввода-вывода.Я проверил некоторые вещи со следующим аппаратным и программным обеспечением

-физический компьютер (HP ProLiant), Debian 5, MySQL 5.1, аппаратный рейд, ext3-fs
-выпускной компьютер на VMware ESX 4 (HPProLiant), Debian 5, MySQL 5.1, аппаратный raid, ext3-fs
- виртуальная машина на Xen 4, Debian 6, MySQL 5.5, программный raid, ext3-fs

Теперь это происходит: при копировании некоторыхбольшие файлы на диске, я вижу высокую скорость ожидания в 'top', и другие процессы будут заблокированы.Например:

dd if = / dev / urandom of =. / Foo.txt count = 1000 bs = 1M (для создания большого файла) cat foo.txt foo.txt foo.txt foo.txt foo.txt foo.txt> foo.new (при отправке в / dev / null выполняется только чтение на диске)

, пока запущен 'cat'. Я не могу запустить другой процесс копирования.Также (и это самая большая проблема) операторы INSERT, работающие в базе данных mysql, блокируются до тех пор, пока они не завершатся корректно.С помощью «innotop» я вижу десятки процессов в mysql, находящихся в состоянии «освобождение элементов» (в MySQL 5.5 это состояние «конец запроса»), пока не закончится «cat».Блокировка операторов INSERT также происходит при выполнении mysqldump.Должен ли я сделать больше нет резервной копии базы данных больше?Все системы основаны на ext3, и планировщик имеет значение 'cfg'.Я попробовал это с «крайним сроком», и это, кажется, немного помогает, но не во всех ситуациях.Я так и не смог выяснить почему !?И эти проблемы кажутся такими сложными :-( Похоже, массивная запись вызывает эту проблему. Может ли это быть плохая обработка ввода-вывода планировщиком?

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

Я где-то нашел подсказку, чтобы изменить планировщик linux io (cat /sys/block/[dev]/queue/scheduler).Это немного помогает, но я считаю, что не было бы решения, когда некоторые параллельные задачи (или процессы) имеют такую ​​большую рабочую нагрузку.

0 голосов
/ 23 марта 2011

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

Если вы еще этого не сделали, здесь - это то место, где вы найдете «CLI утилиты конфигурирования HP для Linux»

Иногда может появиться сообщение о том, что батарея не заряжается, в этом случае следует убедиться, что у вас установлена ​​последняя версия прошивки, поскольку это может исправить некоторые ошибки в процессе зарядки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...