I believe you have to have some other process(es) with heavy disk I/O, so when ff3 fsync()s,
it also fsync()s all disk I/O, not just its own. I have had it when surfing while a compile
is running, and it is awful.
Posted May 30, 2008 7:41 UTC (Fri) by Cato (subscriber, #7643)
[Link]
The real issue for me is that ext3 has a broken implementation of fsync() - since fsync is a
file based operation there's no excuse for syncing *all other files on the filesystem*.
Having said that, I think FF3 or sqlite could equally have used O_SYNC on write, which has
lower performance in the single file case but far better performance when other files need
syncing with fsync().
ext3 fsync is the real issue
Posted May 30, 2008 17:05 UTC (Fri) by nlucas (subscriber, #33793)
[Link]
The SQLite main developer has already tried to make sqlite to use O_SYNC instead of fsync. The
performance dropped to half.