|>Very cool, that was revealing. Perhaps this discussion |>can evolve into how journalling (e.g. ext3, etc.) works |>and why it is good/bad. Anybody? | | I would like to see some real metrics on: | ext2 | ext3 | JFS | XFS | ReiserFS
FWIW (which may not be much in the context of the current discussion) I include here some very raw numbers obtained during filesystem benchmarking I performed last fall. I'm not really free to go into much background but I am able to say that we were narrowly focussed on characterizing systems such that we'd know how to get the best performance when writing absolutely synchronously ie. the data had to actually end up on a disk platter and not just get parked in some cache, like in the buffer cache or in the drive controller's cache. I generated the numbers with a bash script that kept launching an app called DIO (see http://oss.mclx.com/) with different parameters after first mucking around with various system characteristics like mount attributes, raw device options, filesystem size, etc. We tested local disks and also our customized variant of the "nb" (Network Block) device. IIRC we concluded at the time that XFS ignores the sync/async attribute during mounts and always runs async which, given our goal, we weren't too happy about, though this isn't a problem for the average user and it sure makes it seem zippier. Also, XFS makes some of its lowlevel I/O requests with oddball block sizes that local disks don't mind but which confused the nb stuff, so we couldn't benchmark XFS against nb. A conclusion one might draw from our numbers is that the journalled filesystems are all plenty fast enough that you really aren't giving up much throughput in return for the enhanced reliability. YMMV, though... # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 20021025 IBMx330 2.4.18-xfs-1.1 SMP - SCSIwriteCaches disabled FIELDS: Kb/S | time | | rawdev | | | DIObsize | | | | fstype | | | | | fsKblocks | | | | | | fsKperBlock | | | | | | | MOUNTsync | | | | | | | | DIOosync | | | | | | | | | DIOappend | | | | | | | | | | DIOsize | | | | | | | | | | | 66 122.4 nb0 8k ext3 100000 4 sync osync append 8M 68 119.2 nb0 32k ext2 100000 1 sync - append 8M 68 119.9 nb0 8k ext3 100000 4 sync - append 8M 68 120.2 nb0 32k ext2 100000 1 sync osync append 8M 70 115.9 nb0 32k ext3 100000 4 sync - append 8M 70 116.8 nb0 32k ext3 100000 4 sync osync append 8M 75 108.6 nb0 8k ext2 100000 1 sync osync append 8M 75 108.9 nb0 8k ext2 100000 1 sync - append 8M 94 86.4 sda5 8k ext2 100000 1 sync osync append 8M 94 86.5 sda5 8k ext2 100000 1 sync - append 8M 103 79.4 sda5 32k ext2 100000 1 sync - append 8M 103 79.4 sda5 32k ext2 100000 1 sync osync append 8M 162 50.4 nb0 8k reiserfs 100000 4 async osync append 8M 163 50.1 nb0 8k reiserfs 100000 4 sync osync append 8M 176 46.4 nb0 8k ext3 100000 1 sync osync append 8M 177 46.3 nb0 8k ext3 100000 1 sync - append 8M 185 44.1 nb0 32k reiserfs 100000 4 async osync append 8M 185 44.2 nb0 32k reiserfs 100000 4 sync osync append 8M 195 41.9 nb0 32k ext3 100000 1 sync - append 8M 196 41.6 nb0 32k ext3 100000 1 sync osync append 8M 205 39.8 sda5 8k reiserfs 100000 4 async osync append 8M 205 39.9 sda5 8k reiserfs 100000 4 sync osync append 8M 206 39.6 sda5 8k ext3 100000 4 sync osync append 8M 207 39.4 sda5 8k ext3 100000 4 sync - append 8M 212 38.6 sda5 8k ext3 100000 1 sync - append 8M 213 38.5 sda5 8k ext3 100000 1 sync osync append 8M 224 36.5 nb0 8k ext2 100000 4 sync osync append 8M 225 36.4 sda5 32k reiserfs 100000 4 async osync append 8M 226 36.2 nb0 8k ext2 100000 4 sync - append 8M 226 36.2 sda5 32k reiserfs 100000 4 sync osync append 8M 232 35.2 sda5 32k ext3 100000 4 sync osync append 8M 235 34.8 sda5 32k ext3 100000 4 sync - append 8M 239 34.2 sda5 32k ext3 100000 1 sync osync append 8M 243 33.7 sda5 32k ext3 100000 1 sync - append 8M 275 29.7 sda5 8k ext2 100000 4 sync - append 8M 275 29.8 sda5 8k ext2 100000 4 sync osync append 8M 293 27.9 nb0 32k ext2 100000 4 sync osync append 8M 293 27.9 nb0 32k ext3 100000 1 async osync rewrite 8M 294 27.8 nb0 32k ext3 100000 1 sync - rewrite 8M 295 27.7 nb0 32k ext2 100000 4 sync - append 8M 296 27.6 nb0 32k ext3 100000 1 sync osync rewrite 8M 303 27.0 nb0 32k ext2 100000 1 async osync append 8M 361 22.6 sda5 32k ext2 100000 4 sync osync append 8M 362 22.6 sda5 32k ext2 100000 4 sync - append 8M 375 21.8 nb0 8k ext3 100000 1 async osync append 8M 385 21.3 nb0 8k ext2 100000 1 async osync append 8M 387 21.1 nb0 8k ext3 100000 4 async osync append 8M 393 20.8 nb0 8k ext3 100000 1 sync osync rewrite 8M 393 20.8 nb0 8k ext3 100000 1 async osync rewrite 8M 394 20.8 nb0 8k ext3 100000 1 sync - rewrite 8M 422 19.4 nb0 32k ext3 100000 1 async osync append 8M 435 18.8 nb0 8k ext3 100000 4 async osync rewrite 8M 436 18.8 nb0 8k ext3 100000 4 sync - rewrite 8M 436 18.8 nb0 8k ext3 100000 4 sync osync rewrite 8M 455 18.0 nb0 8k ext2 100000 4 async osync append 8M 484 16.9 sda5 8k ext3 100000 4 async osync append 8M 498 16.4 sda5 8k ext3 100000 1 async osync append 8M 504 16.2 sda5 8k ext3 100000 4 sync osync rewrite 8M 506 16.2 sda5 8k ext3 100000 4 sync - rewrite 8M 507 16.2 sda5 8k ext3 100000 4 async osync rewrite 8M 508 16.1 sda5 8k ext3 100000 1 sync osync rewrite 8M 509 16.1 sda5 8k ext3 100000 1 sync - rewrite 8M 516 15.9 sda5 8k ext3 100000 1 async osync rewrite 8M 541 15.1 sda5 8k ext2 100000 4 async osync append 8M 553 14.8 sda5 8k xfs 100000 4 sync osync append 8M 555 14.7 sda5 8k xfs 100000 4 async osync append 8M 585 14.0 nb0 32k ext2 100000 1 sync - rewrite 8M 585 14.0 nb0 32k ext2 100000 1 sync osync rewrite 8M 585 14.0 nb0 32k ext2 100000 1 async osync rewrite 8M 601 13.6 sda5 8k ext2 100000 1 async osync append 8M 1098 7.5 nb0 8k ext2 100000 1 sync osync rewrite 8M 1099 7.5 nb0 8k ext2 100000 1 sync - rewrite 8M 1102 7.4 nb0 8k ext2 100000 1 async osync rewrite 8M 1227 6.7 nb0 8k reiserfs 100000 4 sync osync rewrite 8M 1245 6.6 sda5 8k ext2 100000 1 sync - rewrite 8M 1247 6.6 sda5 8k ext2 100000 1 sync osync rewrite 8M 1249 6.6 sda5 8k ext2 100000 1 async osync rewrite 8M 1251 6.5 nb0 8k reiserfs 100000 4 sync - rewrite 8M 1255 6.5 nb0 8k reiserfs 100000 4 sync - append 8M 1259 6.5 nb0 8k reiserfs 100000 4 async osync rewrite 8M 1263 6.5 sda5 8k reiserfs 100000 4 async osync rewrite 8M 1268 6.5 sda5 8k reiserfs 100000 4 sync osync rewrite 8M 1270 6.4 sda5 8k reiserfs 100000 4 sync - rewrite 8M 1275 6.4 sda5 8k ext2 100000 4 sync osync rewrite 8M 1275 6.4 sda5 8k reiserfs 100000 4 sync - append 8M 1277 6.4 nb0 8k ext2 100000 4 sync osync rewrite 8M 1278 6.4 sda5 8k RAW - - - - - 8M 1278 6.4 sda5 8k xfs 100000 4 sync osync rewrite 8M 1278 6.4 sda5 8k ext2 100000 4 async osync rewrite 8M 1281 6.4 sda5 8k xfs 100000 4 async osync rewrite 8M 1283 6.4 sda5 8k ext2 100000 4 sync - rewrite 8M 1287 6.4 nb0 8k ext2 100000 4 sync - rewrite 8M 1287 6.4 nb0 8k ext2 100000 4 async osync rewrite 8M 1290 6.3 nb0 8k RAW - - - - - 8M 1293 6.3 nb0 32k ext3 100000 4 async osync append 8M 1447 5.7 nb0 32k ext3 100000 4 sync - rewrite 8M 1475 5.6 nb0 32k ext3 100000 4 async osync rewrite 8M 1513 5.4 nb0 32k ext2 100000 4 async osync append 8M 1519 5.4 nb0 32k ext3 100000 4 sync osync rewrite 8M 1777 4.6 sda5 32k ext3 100000 4 async osync append 8M 1807 4.5 sda5 32k ext3 100000 1 async osync append 8M 1853 4.4 sda5 32k ext3 100000 1 sync - rewrite 8M 1858 4.4 sda5 32k ext3 100000 1 sync osync rewrite 8M 1868 4.4 sda5 32k ext3 100000 1 async osync rewrite 8M 1874 4.4 sda5 32k ext3 100000 4 sync - rewrite 8M 1894 4.3 sda5 32k ext3 100000 4 async osync rewrite 8M 1899 4.3 sda5 32k ext3 100000 4 sync osync rewrite 8M 2033 4.0 sda5 32k ext2 100000 4 async osync append 8M 2064 4.0 sda5 32k ext2 100000 1 async osync append 8M 2074 3.9 sda5 32k xfs 100000 4 sync osync append 8M 2084 3.9 sda5 32k xfs 100000 4 async osync append 8M 3948 2.1 nb0 32k reiserfs 100000 4 async osync rewrite 8M 4014 2.0 sda5 32k ext2 100000 1 async osync rewrite 8M 4088 2.0 nb0 32k reiserfs 100000 4 sync - append 8M 4130 2.0 sda5 32k ext2 100000 1 sync - rewrite 8M 4143 2.0 sda5 32k ext2 100000 1 sync osync rewrite 8M 4307 1.9 nb0 32k reiserfs 100000 4 sync osync rewrite 8M 4347 1.9 nb0 32k ext2 100000 4 sync - rewrite 8M 4358 1.9 sda5 32k xfs 100000 4 async osync rewrite 8M 4416 1.9 nb0 32k ext2 100000 4 sync osync rewrite 8M 4417 1.9 nb0 32k ext2 100000 4 async osync rewrite 8M 4457 1.8 sda5 32k reiserfs 100000 4 sync osync rewrite 8M 4465 1.8 sda5 32k reiserfs 100000 4 sync - rewrite 8M 4482 1.8 sda5 32k RAW - - - - - 8M 4499 1.8 sda5 32k ext2 100000 4 sync osync rewrite 8M 4501 1.8 sda5 32k reiserfs 100000 4 async osync rewrite 8M 4508 1.8 sda5 32k reiserfs 100000 4 sync - append 8M 4514 1.8 sda5 32k ext2 100000 4 sync - rewrite 8M 4515 1.8 sda5 32k xfs 100000 4 sync osync rewrite 8M 4515 1.8 sda5 32k ext2 100000 4 async osync rewrite 8M 4547 1.8 nb0 32k RAW - - - - - 8M 4611 1.8 nb0 32k reiserfs 100000 4 sync - rewrite 8M 7449 1.1 nb0 32k ext3 100000 1 async - append 8M 7487 1.1 nb0 8k ext3 100000 4 async - append 8M 7507 1.1 nb0 8k ext3 100000 1 async - append 8M 8200 1.0 nb0 32k ext2 100000 1 async - append 8M 8261 1.0 nb0 32k reiserfs 100000 4 async - append 8M 8262 1.0 nb0 8k ext2 100000 1 async - append 8M 8293 1.0 nb0 32k ext2 100000 4 async - append 8M 8318 1.0 nb0 8k reiserfs 100000 4 async - append 8M 8405 1.0 nb0 8k ext2 100000 4 async - append 8M 8628 0.9 nb0 32k ext3 100000 1 async - rewrite 8M 8691 0.9 nb0 32k ext3 100000 4 async - append 8M 8793 0.9 nb0 32k ext2 100000 4 async - rewrite 8M 8850 0.9 nb0 8k ext3 100000 1 async - rewrite 8M 8907 0.9 nb0 32k ext2 100000 1 async - rewrite 8M 8949 0.9 nb0 32k reiserfs 100000 4 async - rewrite 8M 9081 0.9 nb0 8k ext3 100000 4 async - rewrite 8M 9081 0.9 nb0 32k ext3 100000 4 async - rewrite 8M 9207 0.9 nb0 8k ext2 100000 1 async - rewrite 8M 9225 0.9 nb0 8k reiserfs 100000 4 async - rewrite 8M 9958 0.8 nb0 8k ext2 100000 4 async - rewrite 8M 13489 0.6 sda5 8k ext3 100000 1 async - append 8M 13779 0.6 sda5 32k ext2 100000 1 async - append 8M 13892 0.6 sda5 32k ext3 100000 1 async - append 8M 14644 0.6 sda5 8k ext2 100000 1 async - append 8M 15902 0.5 sda5 8k ext3 100000 1 async - rewrite 8M 16091 0.5 sda5 32k ext3 100000 1 async - rewrite 8M 16681 0.5 sda5 32k ext2 100000 1 async - rewrite 8M 17308 0.5 sda5 8k ext2 100000 1 async - rewrite 8M 20433 0.4 sda5 32k ext3 100000 4 async - append 8M 20544 0.4 sda5 32k reiserfs 100000 4 async - append 8M 20687 0.4 sda5 8k ext3 100000 4 async - append 8M 20851 0.4 sda5 8k reiserfs 100000 4 async - append 8M 21107 0.4 sda5 8k xfs 100000 4 sync - append 8M 21315 0.4 sda5 32k ext3 100000 4 async - rewrite 8M 21775 0.4 sda5 8k ext2 100000 4 async - append 8M 22018 0.4 sda5 8k xfs 100000 4 async - rewrite 8M 22379 0.4 sda5 8k xfs 100000 4 sync - rewrite 8M 22493 0.4 sda5 32k reiserfs 100000 4 async - rewrite 8M 22494 0.4 sda5 32k ext2 100000 4 async - append 8M 22508 0.4 sda5 8k xfs 100000 4 async - append 8M 22867 0.4 sda5 32k xfs 100000 4 async - append 8M 23104 0.4 sda5 8k ext3 100000 4 async - rewrite 8M 23125 0.4 sda5 8k ext2 100000 4 async - rewrite 8M 23522 0.3 sda5 32k xfs 100000 4 async - rewrite 8M 23527 0.3 sda5 32k ext2 100000 4 async - rewrite 8M 23659 0.3 sda5 32k xfs 100000 4 sync - append 8M 24363 0.3 sda5 32k xfs 100000 4 sync - rewrite 8M 24502 0.3 sda5 8k reiserfs 100000 4 async - rewrite 8M _______________________________________________ gnhlug-discuss mailing list [EMAIL PROTECTED] http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss