当前位置:网站首页>Performance comparison of ext4, NTFS, XFS, Btrfs, ZFS, f2fs and ReiserFS
Performance comparison of ext4, NTFS, XFS, Btrfs, ZFS, f2fs and ReiserFS
2022-07-26 03:21:00 【Woodland ningning】
ext4、ntfs、xfs、btrfs、zfs、f2fs and reiserFS Performance test comparison
Original address :CSDN Blog
1. Preface
Current file systems are diverse , From the well-known ext4、ntfs and xfs, To btrfs、zfs Wait for the niche file system , It can be said that there are a wide range , It is difficult for people to choose a file system suitable for their business .
This article summarizes the foreign netizens in OpenBenchmark Results on the website , And give the performance and comparison of major file systems in different situations .
The file systems involved at present include :
- btrfs
- xfs
- ext4
- f2fs
- reiserFS
- ntfs
- zfs
Writing is not easy , Still hope One key, three links Pay attention !
2. Linux 4.4 Benchmark
The benchmark data comes from Linux 4.4 File-Systems.
2.1 Test environment
| name | To configure |
|---|---|
| processor | Intel Xeon E5-2687W v3 @ 3.5GHz(20 Cores) |
| a main board | MSI X99S SLI PLUS(MS-7885) v1.0 |
| Chipset | Intel Xeon E7 v3 |
| Memory | 16GB |
| Hard disk | PNY CS1211 120GB + 80GB Intel SSDSCKGW08 |
| operating system | Ubuntu 16.04 |
| Kernel version | 4.4.0-040400-generic(x86_64) |
| GCC | GCC 5.3.1 20160122 |
Various file system mount options :
| file system | Mount options |
|---|---|
| btrfs | relatime,rw,space_cache,ssd,subvol=/,subvolid=5 |
| xfs | attr2,inode64,noquota,relatime,rw |
| ext4 | data=ordered,relatime,rw |
| f2fs | acl,active_logs=6,background_gc=on,extent_cache,inline_data,relatime,rw,user_xattr |
| reiserFS | relatime,rw |
| ntfs | allow_other,blksize=4096,group_id=0,relatime,rw,user_id=0 |
| zfs | defaults |
2.2 Test means
For the file system benchmark, It is divided into the following test methods :
- aio-stress: Use SuSE Asynchronous development I/O frame , Test asynchrony I/O Under high pressure Random write Ability .
- sqlite: measurement SQLite The database has a fixed number of Insert Operation of the write in when , This is a The smaller the value, the better Test of .
- flexible IO tester: Write directly to disk without cache , Test the hard disk pair 4KB The size of the block Random, speaking, reading and writing And Sequential reading and writing Ability .
- fs-mark: Create many 1MB File to test the file system write in Ability .
- dbench: Simulate multi-user read-write pressure benchmark Tools .
- compilebench: Through the compilation and update of the kernel tree , Simulate and test the performance after the hard disk is almost full and the folder is stored for a long time .
2.3 test result
The test results are summarized as follows , Among them ^ In the same test Optimal data , mark * by Worst data . The data unit is MB/s Or seconds , And only the integer part is reserved .:
| test | btrfs | xfs | ext4 | f2fs | reiserFS | ntfs | zfs |
|---|---|---|---|---|---|---|---|
| aio-stress | ^2920 | 2385 | 2424 | 1606 | 1606 | 11* | 146 |
| sqlite ( The smaller the better. ) | 755* | 379 | 384 | 471 | 384 | ^294 | 501 |
| fio: Random reads | 104 | 109 | 110 | 104* | 112 | ^215 | |
| fio: Random write | 84 | 80 | 79 | 95 | 75* | ^98 | |
| fio: Sequential read | 113* | 185 | 185 | 184 | 185 | ^219 | |
| fio: Write in sequence | 81* | 93 | 87 | 84 | 96 | ^101 | |
| fs-mark: 1K file | 35 | 35 | 35 | ^60 | 31* | 35 | 37 |
| fs-mark: 5K file , 4 Threads | 68 | 71 | ^112 | 76 | 79 | 41* | 59 |
| fs-mark: 5K file , 32 subdirectories | 35 | 35 | 36 | ^60 | 31* | 34 | 36 |
| dbench: 6 Customer | 53 | ^62 | 61 | 54 | 47 | 29* | 60 |
| dbench: 12 Customer | 105 | ^118 | 107 | 96 | 74 | 30* | 117 |
| compilebench: Create a kernel tree | 160 | 206 | 314 | ^339 | 115 | 44* | 145 |
The chart of each test is as follows :
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
2.4 Comparison of major file systems
- High concurrent read and write :btrfs The optimal ,xfs And ext4 Slightly better ,zfs And ntfs The worst .
- Random, speaking, reading and writing :ntfs The optimal , The rest are not much different .
- Sequential reading and writing :ntfs The optimal ,btrfs The worst , The rest are not much different
- Sequential multi file write :f2fs The optimal , The rest are not much different .
- Concurrent multi file writing :ext4 The optimal ,ntfs The worst ,zfs Weak , The rest are not much different .
- Sequential multiple files are written to different subdirectories :f2fs The optimal , The rest are not much different .
- Multi customer experience :xfs The optimal ,ntfs The worst ,reiserFS Weak , The rest are excellent .
Through this benchmark, You can find Each file system has characteristics , And each has its own advantages and disadvantages :
- btrfs Still in development , Its COW (Copy On Write) The mechanism makes it perform poorly in inserting into the database .
- xfs and ext4 Excellent comprehensive quality , It won't be too dazzling in certain abilities , But for users Comprehensive experience is the best .
- f2fs Excellent performance in multi document situations .
- reiserFS Is about to be reiser4 File system replaces , The comprehensive performance is not as good as other systems .
- ntfs In the serial operating mode , Its Both random and sequential reading and writing abilities are extremely high ; conversely , Its presence Poor performance under high concurrent and high pressure environment .
notes :fio Missing in the test zfs related data , It will be re analyzed in subsequent tests .
3. ZFS Ubuntu 16.04 test
because zfs Relevant data are in 2 The test of chapter is not perfect , Therefore, this chapter adds zfs Relevant test contents .
The data in this chapter refer to ZFS Ubuntu 16.04 Testing.
3.1 Test environment
| name | To configure |
|---|---|
| processor | Intel Xeon E5-2687W v3 @ 3.5GHz(20 Cores) |
| a main board | MSI X99S SLI PLUS(MS-7885) v1.0 |
| Chipset | Intel Xeon E7 v3 |
| Memory | 16GB |
| Hard disk | PNY CS1211 120GB + 80GB Intel SSDSCKGW08 |
| operating system | Ubuntu 16.04 |
| Kernel version | 4.4.0-21-generic (x86_64) |
| GCC | GCC 5.3.1 20160122 |
Various file system mount options :
| file system | Mount options |
|---|---|
| zfs | defaults |
| ext4 | data=ordered,relatime,rw |
| btrfs | relatime,rw,space_cache,ssd,subvol=/,subvolid=5 |
| xfs | attr2,inode64,noquota,relatime,rw |
notes : This environment and testing 2 Basically the same in , You can jointly view .
3.2 Test means
For the file system benchmark, It is divided into the following test methods :
- fs-mark: Create many 1MB File to test the file system write in Ability .
- blogbench: Simulate the pressure scenario of a blog website , test Random, speaking, reading and writing The ability of .
- dbench: Simulate multi-user read-write pressure benchmark Tools .
- iozone: Launch many different types of I/O request , Test the performance of the file system .
- compilebench: Through the compilation and update of the kernel tree , Simulate and test the performance after the hard disk is almost full and the folder is stored for a long time .、
3.3 test result
And 2.3 The test style in is basically the same , The unit used is MB/s Or other special units :
| test | xfs | ext4 | btrfs | xfs |
|---|---|---|---|---|
| fs-mark: 1K file | ^37 | 35 | 35 | 34* |
| fs-mark: 5K file , 4 Threads | 59* | ^112 | 67 | 69 |
| fs-mark: 5K file , 32 subdirectories | ^36 | 35 | 35* | 35 |
| blogbench: Read | 358K* | 563K | 2719K | ^3688K |
| blogbench: write in | 906* | ^13086 | 7602 | 5382 |
| dbench: 6 Customer | 59 | ^61 | 52* | 60 |
| iozone: 4Kb, 8GB Read | 1131* | ^6272 | 6225 | 6138 |
| iozone: 4Kb, 8GB write in | 201* | 464 | ^478 | 464 |
| compilebench | 178* | ^372 | 191 | 252 |
3.4 zfs Performance analysis
Compared with other commonly used file systems ,zfs You can't take too many advantages in performance , By contraries ,zfs It is inferior to other file systems in all aspects .
But that doesn't mean zfs Good for nothing ,zfs The usage scenario of is mainly located in the multi hard disk system , Its most distinctive function is It provides file system level raid Array capability , Therefore, there are still many applicable scenarios .
4. About performance testing
Performance testing does not represent the actual experience of file systems , Before readers read this article , This point needs to be clarified .
Many file systems are not necessarily designed for performance , They all have their own scenarios , Each file system has its own unique design intention . for example :
- btrfs and zfs All have COW(Copy On Write) Mechanism .COW The mechanism makes them have excellent performance when modifying , But it also brings a waste of disk space , And increases the consumption of reading .
- btrfs and zfs Have their own raid function . When data availability is required , Compared with other file systems , They can provide out of the box raid Array capability .
- btrfs All data are provided with checksum Mechanism , Ensure file integrity .
- xfs It's dynamic inode Allocate capacity , Suitable for large file allocation .
- … …
Adjust measures to local conditions , Just used , Is the way of programmers .
5. summary
The author summarizes OpenBenchmark Some of the data on , And integrated the performance comparison of file system .
There are not many words , Easy to use is OK. . The author has just returned CSDN It didn't take long , Feeling CSDN In writing , Filled with thick employment 、 Exam atmosphere . For bloggers like me who just want to watch cutting-edge technologies and novel reports , Not very friendly , And I have a hunch that this article will also throw stones into the sea , Can't lift a storm .
It's ok , Only those who are useful can take it , May the spirit of open source survive !
If you find this article useful , Still hope One key, three links , I must be very grateful !
边栏推荐
- [noip2001 popularization group] the problem of maximum common divisor and minimum common multiple
- 实现一个方法,找出数组中的第k大和第m大的数字相加之和
- Hcip day 8 notes sorting (OSPF routing control, Appendix E, anti ring, shortest path calculation, republication))
- What are the methods of array sorting in JS
- Canvas - ECG design and how to clean the canvas
- LeetCode·每日一题·剑指 Offer || 115.重建序列·拓扑排序
- [tensorflow & pytorch] image data enhancement API
- LeetCode·每日一题·919.完全二叉树插入器·层次遍历·BFS
- Alibaba Sentinel - cluster traffic control
- 了解预加载和懒加载、学会缓动动画
猜你喜欢

Easyexcel sets row hiding to solve the problem of sethidden (true) invalidation

ByteDance (Tiktok) software test monthly salary 23K post, technical two-sided interview questions are newly released

Intensive reading of the paper -yolov1:you only look once:unified, real time object detection

使用VRRP技术实现网关设备冗余,附详细配置实验

Unknown-Aware Object Detection:Learning What You Don’t Know from Videos in the Wild(CVPR 2022)
![[STL]优先级队列priority_queue](/img/79/d13913cbb9d98f936a9501633b38bf.png)
[STL]优先级队列priority_queue

Looking at the next step of BAIC bluevale through the 8billion fund-raising, product upgrading and building core capabilities are the key words

Cloud native guide what is cloud native infrastructure

Illustration leetcode - 5. Longest palindrome substring (difficulty: medium)

Win11 hide input method status bar method
随机推荐
ELS modify cursor, modify Icon
LeetCode·83双周赛·6128.最好的扑克手牌·模拟
论文精读-YOLOv1:You Only Look Once:Unified, Real-Time Object Detection
The difference between the world wide web, the Internet and the Internet
Canvas - drawing pictures - dynamic drawing production
Leetcode · 83 biweekly match · 6128. best poker hand · simulation
What is the difference between heap memory and stack memory?
ue4如何进行静态渲染?5个步骤生成静态渲染
LDP相关知识点
Remember SQL optimization once
Functions and usage of snownlp Library
Unity quickly builds urban scenes
els 窗口设置、WM_CREATE、WM_PAINT
78. Subset
How to reinstall win7 system?
称霸薪酬榜!什么行业大有“钱”途?
Completion report of communication software development and Application
爆肝出了4W字的Redis面试教程
【尤里复裂人】带你轻松理解——深拷贝和浅拷贝
Opencv annotates the image (picture frame + writing)











