Как переименовать файлы с тем же именем, что и у родительской папки

Вам действительно нужна FAT? По моему опыту, реализация драйвера FAT для Linux, похоже, обращается к устройству с последовательностью, которая приводит к очень низкой производительности некоторых устройств. Я видел 10-кратное улучшение производительности некоторых флэш-устройств при форматировании в ext4.

Учитывая, что ссылка, которую вы предоставили в комментариях (http://www.beginninglinux.com/home/machine-related/sandisk-extreme-64-usb-3-speed-test-benchmark-review), проверяла скорость чтения и записи без разделов, возможно, ваше флэш-устройство имеет низкую производительность при доступе к драйверу Linux FAT. Если это правда,он также должен иметь плохую производительность произвольного ввода-вывода в целом.


Вы можете проверить производительность устройства с помощью fio. Перейдите в какой-либо каталог внутри устройства, которое вы хотите протестировать, и выполните следующую команду, чтобы проверить производительность со смешанной случайной скоростью чтения/записи 4k:

fio --name TEST --eta-newline=5s --filename=test.img --rw=randrw --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting

При этом создается тестовый файл размером 500 МБ с именем test.img, а затем начинается чтение и запись случайными блоками по 4 КБ с глубиной очереди 1. Увеличьте size, если ваше устройство имеет огромный внутренний кэш. Этот тест имеет максимальное время выполнения 60 секунд. Считайте это наихудшим сценарием с вашим устройством. Довольно быстрое флэш-устройство (Intel SSD 910 )дает следующие результаты:

...
read : io=1041.4MB, bw=17773KB/s, iops=4443, runt= 60001msec
...
write: io=1038.5MB, bw=17723KB/s, iops=4430, runt= 60001msec
...

Чтобы протестировать лучший случай, вы можете увеличить размер блока и сделать 2 параллельных процесса с iodepth=32:

fio --name TEST --eta-newline=5s --filename=test.img --rw=randrw --size=500m --io_size=10g --blocksize=512k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=2 --runtime=60 --group_reporting

Достаточно быстрое флэш-устройство (Intel SSD 910 )дает следующие результаты:

...
read : io=10892MB, bw=457088KB/s, iops=892, runt= 24401msec
...
write: io=9588.0MB, bw=402365KB/s, iops=785, runt= 24401msec
...

Конечно, если вы действительно хотите получить высокие баллы, вам следует выполнять последовательное чтение с высокой глубиной чтения. Это должно быть близко к числам, которые вы видите в спецификациях устройства (, то есть никогда в реальной жизни ):

.

fio --name TEST --eta-newline=5s --filename=test.img --rw=read --size=500m --io_size=10g --blocksize=512k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting

Достаточно быстрое флэш-устройство (Intel SSD 910 )дает следующие результаты:

...
read : io=10240MB, bw=1468.8MB/s, iops=2937, runt=  6972msec
...

Обратите внимание, что это не соответствует спецификации (около 2 ГБ/с ), потому что я настроил планировщик ввода-вывода с минимально возможной задержкой(deadlineПланировщик ввода-вывода с 1 >../queue/iosched/fifo_batchи50 >../queue/iosched/read_expire).

Обратите внимание на огромную разницу между наихудшим сценарием (около 17 МБ/с )и лучшим сценарием (около 1470 МБ/с ).

3
15.08.2019, 21:15
0 ответов

Теги

Похожие вопросы