Howard Chu wrote:
Howard Chu wrote:
> Howard Chu wrote:
>> Was reading thru Google's leveldb stuff and found their benchmark page
>> I haven't duplicated all of the test scenarios described on the web page
>> you can do that yourself with the attached code. It's pretty clear that
>> nothing else even begins to approach MDB's read speed.
> The results for large data values are even more dramatic:
I've expanded the tests, added BerkeleyDB 5.3.21 to the mix, and summarized
the results here:
Another update - http://highlandsun.com/hyc/mdb/microbench/MDB-fs.ods
OpenOffice spreadsheet tabulating the results from running the benchmarks
across many different filesystems. You can compare btrfs, ext2, ext3, ext4,
jfs, ntfs, reiserfs, xfs, and zfs to see which is best for the database
workloads being tested. In addition, ext3, ext4, jfs, reiserfs, and xfs are
tested in a 2nd configuration, with the journal stored on a tmpfs device, to
show how much overhead the filesystem's journaling mechanism imposes.
The hard drive used is the same as in the main benchmark document, attached
via eSATA to my laptop. The filesystems were created fresh for each test. The
tests are only run once each due to the great length of time needed to collect
all of the data. (It takes several minutes just to run mkfs for some of these
filesystems...) You will probably want to toggle through the tests in cell B13
of the spreadsheet to get the best view of the results.
With this drive, jfs with an external journal is the clear winner when you
need fully synchronous transactions. If you can tolerate some degree of asynch
operation, plain old ext2 is still the fastest for writes.
MDB read speed is largely independent of FS type. I believe any variation in
the reported speeds here is just measurement noise.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/