Описание тега gnome-activity-journal
Я пытаюсь сравнивать совокупности пишу цены при записи в файл в файловой системой GPFS, по сравнению с прямой записи на диск в системе с описанием сервера 6.4 выпуск (Сантьяго). Для моего приложения мне нужно измерить сырой курс, т. е. без использования кэша. Я не пойму воздействия прямых опция с ДД
в обход кэша. При прямой записи на блочное устройство, я получаю существенно снизить скорость, когда я использовать аргумент Oflag=прямой
, по сравнению с записью в файл в файловую систему GPFS. Почему это происходит?
Для измерения совокупных ставок я создаю п
процессов, запущенных ДД
, что пишет одновременно на блочное устройство или файл. Я тогда сумма в п
ставки, получается, чтобы получить совокупную скорость записи.
#!/бин/Баш
directdiskrate=~/царапин/rate5
syncdiskrate=~/царапин/rate4
filerate=~/царапин/с rate3
numruns=1
numthreads=30
#использовать диск как усл=fsync и офлага=прямой
writetodiskdirect="ДД, если=/dev/нуль=/Дев/sdac БС=256к количество=4096 усл=вызов fsync офлага=прямые iflag=fullblock"
для P в $(сл $numthreads)
делать
#парсит вывод из ДД, ставка на последнюю строку, каждое поле отделяется ,с
$writetodiskdirect 2>&1|хвост -1 н|у awk 'начало { ФС = "," } ; { печать 3$} '|СЭД -е 'з/МБ\/с//г'>>$directdiskrate&
сделано
ждать
#использовать диск только опции conv=вызов fsync
writetodisksync="ДД, если=/dev/нуль=/Дев/sdac БС=256к количество=4096 усл=вызов fsync iflag=fullblock"
для P в $(сл $numthreads)
делать
#парсит вывод из ДД, ставка на последнюю строку, каждое поле отделяется ,с
$writetodisksync 2>&1|хвост -1 н|у awk 'начало { ФС = "," } ; { печать 3$} '|СЭД -е 'з/МБ\/с//г'>>$syncdiskrate&
сделано
ждать
#в файл использовать оба усл=fsync и офлага=прямой
для P в $(сл $numthreads)
делать
writetofile="ДД, если=/dev/нуль=/gpfs1/fileset6/файл$п БС=256к количество=4096 усл=вызов fsync офлага=прямые"
#парсит вывод из ДД, ставка на последнюю строку, каждое поле отделяется ,с
$writetofile 2>&1|хвост -1 н|у awk 'начало { ФС = "," } ; { печать 3$} '|СЭД -е 'з/МБ\/с//г'>>$filerate&
сделано
ждать
Результаты: на скорость записи каждого из 30 процессов выглядит следующим образом:
- Запись на диск с помощью
конв=вызов fsync
вариант, каждый процесс получает запись скорости ~180 МБ/с - Записи на диск, используя обе
усл=вызов fsync
иофлага=прямой
, каждый процесс получает запись скоростью ~9 МБ/с - Запись в файл в файловую систему GPFS, используя обе
усл=вызов fsync
иофлага=прямые
, получает запись скорости ~80 МБ/с