Why do we see a big performance/load difference between ext3 and ext4 using the same hardware (RHEL5 and RHEL6)?
Issue
When running the same file system load test (read/write) on a ext3 and ext4 file system we see a big difference on the load of the system, especially when running a sync while the load test is running.
- RHEL6+ext3:
# time sync
real 13m32.737s
user 0m0.002s
sys 0m0.056s
- RHEL5+ext3:
# time sync
real 12m1.334s
user 0m0.000s
sys 0m0.833s
The bad sync timer are related to the high load of the machine:
top - 14:30:58 up 56 min, 5 users, load average: 46.08, 34.01, 22.04
Tasks: 383 total, 1 running, 382 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.5%us, 0.3%sy, 0.0%ni, 74.4%id, 24.8%wa, 0.0%hi, 0.0%si, 0.0%st
top - 14:31:37 up 57 min, 5 users, load average: 57.96, 38.29, 23.90
Tasks: 382 total, 1 running, 381 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.9%us, 1.2%sy, 0.0%ni, 37.9%id, 60.0%wa, 0.0%hi, 0.0%si, 0.0%st
Running the same test on the exact same hardware using ext4 the load is low and the sync performance is good:
top - 17:14:55 up 2:43, 6 users, load average: 0.53, 0.52, 5.73
Tasks: 344 total, 2 running, 342 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.1%us, 2.9%sy, 0.0%ni, 42.9%id, 52.9%wa, 0.0%hi, 0.2%si, 0.0%st
# time sync
real 0m2.510s
user 0m0.000s
sys 0m0.127s
Running same tests on a bigger system with RHEL6+ext3 we can see that the performance is good:
processor : 63
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-4650 0 @ 2.70GHz
# cat /proc/meminfo
MemTotal: 65880916 kB
# time sync
real 0m19.530s
user 0m0.000s
sys 0m0.141s
Why is there so a big difference in the load of the machine using ext3 or ext4 file system?
Environment
- Red Hat Enterprise Linux 6.3
- Red Hat Enterprise Linux 5.8
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.