У меня проблема с высоким ожиданием ввода-вывода.Я проверил некоторые вещи со следующим аппаратным и программным обеспечением
-физический компьютер (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'.Я попробовал это с «крайним сроком», и это, кажется, немного помогает, но не во всех ситуациях.Я так и не смог выяснить почему !?И эти проблемы кажутся такими сложными :-( Похоже, массивная запись вызывает эту проблему. Может ли это быть плохая обработка ввода-вывода планировщиком?