1 |
To help dispell some boredom tonight and satisfy some of my curiosity... I did |
2 |
a little impromptu benchmarking with the new ext4 filesystem as delivered in |
3 |
the 2.6.19 kernel. |
4 |
|
5 |
What I did, was pop a 256meg cfdisk into my laptop and did a few file |
6 |
operations on it via a simple script that formatted the card, mounted it and |
7 |
then copied 256meg of data onto it in various fashions... |
8 |
|
9 |
I compare ext2, ext3 and ext4dev. The ext4dev was tested both with and without |
10 |
extents enabled, to get a basic feel for the differences. I then did a test |
11 |
to see just how backward compatible ext4dev is to ext3 and ext2... |
12 |
|
13 |
All three file systems were mounted with the sync flag enabled to eliminate |
14 |
any delay of actually writing the data to the cf card and ended with a sync |
15 |
before ending the timing loop for good measure. |
16 |
|
17 |
Anyways... I got some really interesting results which all boils down to this. |
18 |
|
19 |
The ext2 test run took so damn long that I manually terminated the test after |
20 |
10minutes... Ext3 took about 6minutes to complete, ext4dev with extents took |
21 |
4 minutes, ext4dev without extents took about 5. The same numbers came up, |
22 |
again and again during three complete runs of the test script. |
23 |
|
24 |
The ext2 fs was formatted with "mke2fs" and mounted with "-t ext2 -o sync" |
25 |
The ext3 fs was formatted with "mke2fs -j" and mounted with "-t ext3 -o sync" |
26 |
The ext4 fs was formatted with "mke2fs -j" and mounted with "-t ext4dev -o |
27 |
sync" |
28 |
The ext4 fs was formatted with "mke2fs -j" and mounted with "-t ext4dev -o |
29 |
sync,extents" |
30 |
|
31 |
Results: |
32 |
ext2 - never completed... I got too tired waiting for it to eor. |
33 |
ext3 - 6 minutes. |
34 |
ext4 - 5 minutes no extents |
35 |
ext4 - 4 minutes with extents |
36 |
|
37 |
Then... after running the ext4dev with extents test, I unmounted the cf card |
38 |
and tried mounting it with ext2, ext3 and ext4dev (no extents), failing all |
39 |
three times. Once you write to an ext4 file system using the extents option, |
40 |
it ext4 forever... |
41 |
|
42 |
After reformatting the card, mounted with ext4dev (no extents option) and did |
43 |
some simple writes to the card (no extents), I then ran my mount tests |
44 |
again... ext2, ext3 and ext4dev (with extents) and it succeeded all three |
45 |
times. |
46 |
|
47 |
>From my humble tests, I conclude the following: The ext4dev filesystem has |
48 |
some serious performance offerings for those of us that use ext3. Also, as |
49 |
long as you don't write to an ext4dev filesystem mounted with the extents |
50 |
option, it'll be as backwards compatible to ext3 and ext2, just as ext3 is |
51 |
currently to ext2. That is to say, if you don't use ext4 extents for the |
52 |
added performance benefits, you'll have the option open to you to back level |
53 |
to ext3 with out problems or even back to ext2. |
54 |
|
55 |
NOTE: When changing filesystems in such a manner on a partition with valuable |
56 |
data, besure to backup before making the change and running fsck on it before |
57 |
actually using it... |
58 |
|
59 |
Wow... Let the real testing begin. For my workhorse test box, I'm going to |
60 |
convert a document server to ext4dev tomorrow. The server is a little used, |
61 |
heavily backed up box, sporting about 600gid worth of some of the most boring |
62 |
stuff you have ever read. It'll be interesting to see just how it behaves |
63 |
in "the wild". |
64 |
|
65 |
>From the little testing I've done, I'm quite impressed with the first public |
66 |
exposure to a developing filesystem. I can't imagine how things will progress |
67 |
with ext4, but based on these early developments... it's going to be good. |
68 |
|
69 |
Cheers all... hmmm... I'm finally sleepy enough to get some sleep. :'O |
70 |
|
71 |
-- |
72 |
|
73 |
Jerry McBride |
74 |
|
75 |
-- |
76 |
gentoo-user@g.o mailing list |