4 ms·
These numbers are 4x as slow as Keyspace[1] with fast spinning drives as Keyspace can do 100,000 inserts/sec. Keyspace currently uses BDB as the backend, so thi
by Maro 17y ago
These numbers are 4x as slow as Keyspace[1] with fast spinning drives as Keyspace can do 100,000 inserts/sec. Keyspace currently uses BDB as the backend, so this is basically a statement about BDB performance.
I'm curious, where does the Mysql/RethinkDB take this performance hit, or is this just a totally different benchmark?
Keyspace is a KV-store, but this shouldn't be a big deal, as a rowstore also inserts into a single btree as long as there are no secondary indices (A KV store inserts a K+V whereas a rowstore C1+C2..Cn.) Keyspace groups inserts into transactions of size ~1M in the benchmark I'm referring to. Are you inserting one row per transaction/sync here, or what's the deal?
[1] http://scalien.com/keyspace http://scalien.com/keyspace
- coffeemug 17y agoThe biggest performance hit right now is getting the data into MySQL (the network stack). We're inserting one row at a time, so most of the time is spent on the wire. Effectively, it's a different benchmark. BTW, an average drive rotates at 250 revolutions per second. If you flush on every transaction, this is roughly how many transactions you'll be able to sustain. Anything more than that, and you have to batch transactions in memory.
- Maro 17y agoSo it's one network roundtrip + commit per INSERT?
- coffeemug 17y agoYes, that's correct. The benchmark was run on localhost, so it might be going through loopback, but most of the time is spent in the network stack.
- Maro 17y agoInteresting! Is there a theoretical maximum throughput that can be estimated based on the parameters of the SSD (and other variables)?
- rarrrrrr 17y agoAny difference connecting through a local unix domain socket instead of localhost (to avoid TCP overhead?)
- leif 17y agoWe'll be looking at many ways to cut networking overhead over the coming weeks, including socket communication (though I don't know if MySQL supports this).
- akirk 17y agoSorry for being picky, but don't "average drives" rotate between 5400 rpm (rotations per minute == 90 rotations per sec) and 7200 rpm (== 120 rotations per second)?