Linux File System Read Write Performance Test
sixth column-Re-Read: This reports the speed of rereading a file which is already read. In all operating system there is disk locations cached for faster access. So Rereading a file which is already read, is faster .
Seventh Column-Random Read: This will show the speed when random area’s of a single file is accessed. This is slower at times.
Eighth column-Random Write : random write is similar to random read. But instead will write to an already existing file by accessing random areas in the file .
Ninth Column-Random Mix: This column tells the random read and random write speeds combined together.
Backwards Read: This column reports the speed of doing a backward read. For example start reading from the end to the beginning of the file.
For more information Please reffer to : url=http://www.iozone.org/You can save the output of the iozone using -b option avialable in iozone as follows.
[root@myvm1 ~]# iozone -a -b speedtest.xls
Where «speedtest.xls» is the output file. You can now open this output file in excel sheet using open office and have a complete detailed report regarding the speed test.-s option present in iozone can be used to specify the filesize to be used for iozone test. As shown below.
[root@slashroot2 ~]# iozone -a -s 4048 -i 0
The above command will run the iozone utility with a filesize of 4MB and only will do a write and rewrite test because we have given it 0 option.You can pass numberical options to do only selective tests. Such as 0 for write and rewrite and 1 for 1 read and reread,2 for random read and write etc(you need to use the -i option before the numeric option).
Another tool that can be used for filesystem performance test is bonnie
Read Write Performance Test using Bonnie
Bonnie is also a very nice tool that can be used for performance benchmarking the hardisk. It can be installed by enabling the rpmforge repo.Now run the command as shown below for the test. run the command in the directory where your desired partition is mounted. for example am testing the /dev/sda1(which is my /).
[root@slashroot2 ~]# bonnie Bonnie: Warning: You have 503MiB RAM, but you test with only 100MiB datasize! Bonnie: This might yield unrealistically good results, Bonnie: for reading and seeking and writing. Bonnie 1.5: File './Bonnie.4614', size: 104857600, volumes: 1 Writing with putc(). done: 24712 kiB/s 98.2 %CPU Rewriting. done: 789544 kiB/s 83.3 %CPU Writing intelligently. done: 253001 kiB/s 80.5 %CPU Reading with getc(). done: 26101 kiB/s 99.5 %CPU Reading intelligently. done: 3723094 kiB/s 101.8 %CPU Seeker 1. Seeker 2. Seeker 3. start 'em. done. done. done. Estimated seek time: raw 0.006ms, eff 0.001ms ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)- Machine MB kiB/s %CPU kiB/s %CPU kiB/s %CPU kiB/s %CPU kiB/s %CPU /sec %CPU slashr 1* 100 24712 98.2253001 80.5 789544 83.3 26101 99.53723094 102 173145.2 95.2
the final line in the above output shows sequencial output,sequencial input and random seek etc.you need to pass the -y option to sync the data to the disk. You can specify the filesize used to test with -s option.
[root@slashroot2 ~]# bonnie -y -s 1000
How to use FIO for IO benchmark Test
Fio is also another nice and small tool that can be used for benchmarking the IO usage of a particular drive. Unlike previous tools we saw, the fio tool does not run with command line options.
A file with full of parameters regarding the type of test is made. And then this file is passed to the «fio» command as an argument.
So lets begin by making our fio test file and its argument.
the file that will be passed as an argument will begin by
; -- start job file --
; -- end job file --
Lets do a test with FIO and a file with argument as the parameter.
[root@myvm1 sarath]# cat fiotest ; -- start job file -- [random-writers] rw=randrw size=50m numjobs=1 ; -- end job file --
The output of the fio command is too much descriptive..but (there is a different documentation altogether for understanding the output for fio command)
The result of the At the end of the fio command with «the argument file» You will see the summery of the test.
Run status group 0 (all jobs): READ: io=25708KB, aggrb=306KB/s, minb=306KB/s, maxb=306KB/s, mint=83860msec, maxt=83860msec WRITE: io=25492KB, aggrb=303KB/s, minb=303KB/s, maxb=303KB/s, mint=83860msec, maxt=83860msec Disk stats (read/write): sda: ios=6422/5964, merge=0/238, ticks=81457/2073064, in_queue=2173820, util=98.75%
the summery shows the below following things.
Aggrb: Aggregate bandwidth of all the process threads used in the test
Minb: Minimum Bandwidth
Maxb: Maximum bandwidth
Ios: Total input output operation performed with the disks.
in Queue: the total time spend being in queue
util: this shows the percentage of duration in which the disk was kept busy with IO operations during the test. In our example output the util is 98 percent which mens, during the task the disk was kept almost full busy with IO operations.
FIO is a very good tool if you want to test the performance of your disk during the heavy intensice IO operations.
Almost all the tools explained in the above tutorial are very much vast in themselfs. Hope this inroductory tutorial for those tools was helpful for benchmark test.
Тестирование двенадцати файловых систем в Linux
В прошлый раз мы тестировали производительность файловой системы ReFS в Windows 10. Там мы затронули некоторые ФС из мира Linux, которые показали достаточно вялые результаты, поскольку из-за ограничений Windows чтение и запись были недостаточно хорошо реализованы. На сей раз подобная несправедливость будет устранена, теперь роли меняются, и файловые системы NTFS, FAT32 и exFAT уже сами становятся гостями. Методика тестирования была усовершенствована, теперь все операции выполняются специальным скриптом, с точностью до миллисекунды замеряющим время, затраченное на определенную операцию. Кроме того был изменен набор данных, вместо поочередного копирования групп различных файлов проводится копирование сразу всех файлов разных типов. Также тестирование теперь не ограничивается только жестким диском, здесь были задействованы более актуальные в настоящее время твердотельные и flash накопители. На каждом из них для размещения тестовых данных был создан раздел объемом 4 Гб, вторым устройством для перемещения данных выступал созданный в оперативной памяти раздел объемом 2304 Мб с файловой системой TMPFS. Поскольку flash-память имеет ограниченное количество циклов перезаписи, то в оценке производительности на данном типе носителей участвовали только нежурналируемые файловые системы.
реклама
Тестовая система:
- Процессор: Xeon E5440 @ 3.4 ГГц
- GIGABYTE GA-P35-DS3L
- Оперативная память: 3584 МБ DDR2-800
- Жесткий диск: Seagate Barracuda 7200.10 3250410AS 250 ГБ
- Твердотельный накопитель: SanDisk SDSSDHII-120G-G25 120 ГБ
- MicroSD карта SanDisk Ultra 16 Гб UHS-I, поключенная с помощью адаптера MXT
- Ubuntu 16.04 x64 с последними обновлениями
Набор данных:
- 100 MP3 файлов — 681,3 Мб
- 880 JPEG изображений 268,8 Мб
- 4 видеоролика в формате MP4 — 492,7 Мб
- 1 ISO образ — 583 Мб
- Суммарный объем: ~2 Гб
реклама
Краткая характеристика участников тестирования:
EXT2 — расширенная версия первой файловой системы EXT для ОС на ядре Linux.
EXT3 — журналируемая EXT2.
реклама
EXT4 — значительно расширенная по функционалу EXT3.
BTRFS — прогрессивная файловая система, использующая СУБД-подобную структуру , а также предлагающая множество современных опций.
F2FS — файловая система от Samsung, предназначенная для использования на flash-памяти.
ReiserFS — журналируемая ФС от компании Namesys, позволяющая изменять свой размер на лету без размонтирования.
XFS — высокопроизводительная 64-битная журналируемая файловая система, созданная компанией Silicon Graphics.
JFS — 64-битная журналируемая ФС, разработанная IBM с прицелом на высокую производительность, надёжность и масштабируемость для многопроцессорных компьютеров.
HFS+ — файловая система, использующаяся в macOS.
NTFS — ФС для Windows NT, выросшая из HPFS, совместной разработки IBM и Microsoft для OS/2.
FAT32 — усовершенствованная версия файловой системы FAT для DOS и Windows.
exFAT — расширенная версия FAT32, предназначенная для flash-накопителей.
Результаты тестов:
Итак, для начала запишем наши данные на жесткий диск с гораздо более быстрой оперативной памяти. Считывание происходит моментально, а вот скорость записи служит характеристикой быстродействия конкретной файловой системы для данного типа накопителя.
Новая файловая система F2FS демонстрирует отличный результат, опережая своих оппонентов. За ней следуют продвинутые журналируемые ФС, в основном использующиеся в NIX системах. Гости из Windows, а также устаревшие EXT2 и EXT3 заметно отстают.
Теперь проделаем тоже самое, но уже с быстрым твердотельным накопителем.
Разрыв между первым и замыкающим участниками заметно вырос. На сей раз в лидерах созданная профессионалами Sun Microsystems система XFS, которая показала результат близкий к максимальной пропускной способности интерфейса SATA-II. BTRFS, все еще считающая в некоторых аспектах не совсем стабильной, находится в нижней части списка. Работающая в пользовательском пространстве с помощью специального драйвера, NTFS показала почти в четверо более низкий результат, чем XFS.
А теперь данные будут переноситься наоборот с дисков в ОЗУ. Так как запись происходит очень быстро, то распределение файловых систем в диаграмме будет зависеть от их производительности при считывании.
Ситуация похожа на ту, которая была продемонстрирована в первом тесте. Но тут FAT32 поднялась сразу на семь позиций, а на ее место переехала BTRFS. Устаревшие EXT2 и EXT3 снова замыкают список.
Видно, что разница сократилась, поскольку и твердотельный накопитель и оперативная память довольно быстрые устройства, и одно лишь это устраняет различные недостатки, присущие каждой их файловых систем. XFS выдала просто ошеломительный результат, практически уперевшись в пропускную способность SATA-II. Более усложненная BTRFS на второй позиции. Несмотря на прослойку в виде FUSE, NTFS заняла довольно почетное место.
Настала очередь flash-накопителей.
exFAT обошла F2FS в тесте записи примерно на 18%. EXT2, как и в предыдущих испытаниях, плетется в конце.
Ну и, наконец, чтение с flash-памяти.
FAT32 показывает, кто здесь царь. Несмотря на почтенный возраст, она и не собирается сдавать своих позиций. К сожалению максимальный размер файла в FAT32 ограничен четырьмя гигабайтами, что совершенно не подходит для тех же фильмов в высоком качестве. Однако, ее замена в лице exFAT отменяет данный изъян ценой всего лишь десятипроцентной потери производительности.
И ради интереса был проведен еще один тест с участием только RAM-дисков (копирование ISO-образа).
Мир Linux открывает перед пользователями Windows множество граней, одной из которых является наличие гораздо большего количества различных файловых систем. Каждая из них имеет свои достоинства и недостатки, кто-то силен в одних ситуациях, кто-то в других. И в проведенном тестировании мы попытались выявить данное распределение сил.
В результате наших проверок выяснилось, что более новые и хорошо отлаженные файловые системы стремятся показать более высокую производительность. И наоборот, устаревшие системы уменьшают скорость выполнения операций чтения-записи. Но данное правило не всегда строго выполняется, так как характеристики конкретной файловой системы могут не всегда соответствовать определенным в текущий момент условиям использования, для которых подходит пусть менее передовая, но более подходящая система.
Разумеется в подавляющем большинстве случаев нет возможности менять файловую систему одномоментно с изменившимися критериями эксплуатации. Но в этом и не будет особой необходимости, если заранее оценить рабочее окружение и возможные сценарии использования и лишь затем принимать решение о выборе файловой системы.
Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news — это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.