Ayende @ Rahien

Refunds available at head office

Quick peek into Voron perf work

Those are interim results, but it gives me some hope. This is running on a different machine than the numbers I posted before. But I have enough to compare to each other. You can see it here. All numbers are in operations / sec.

Writing 100,000 sequential items (100 items per transaction in 1,000 transactions):

image

And writing 100,000 random items:

image

 

And here is what we really care about. Comparing Voron to Esent:

image

This is actually pretty amazing, because we are now at about 25% write speed of Esent for sequential writes (we used to be at less than 5%). When talking about random writes (what we really care about) we are neck in neck.

Tags:

Posted By: Ayende Rahien

Published at

Originally posted at

Comments

Mystical Coder
11/29/2013 11:56 AM by
Mystical Coder

The first 2 graphs - the smaller bar the better? the last graph - the bigger bar the better?

wqw
11/29/2013 11:58 AM by
wqw

@Mystical Coder: "All numbers are in operations / sec."

Mystical Coder
11/29/2013 12:01 PM by
Mystical Coder

@wqw: then well why does Voron have larger bars than Esent in the first 2 graphs and smaller in the third?

Graham
11/29/2013 12:20 PM by
Graham

Because he is saying that they were only at 5% of Esent performance-wise originally for sequential writes and now they are ae 25% of Esent, i.e. an improvement... but they are roughly the same as Esent for random writes, which is what they are bothered about.

Not sure how that ties into Voron being better than Esent in both the other graphs though

Khalid Abuhakmeh
11/29/2013 12:40 PM by
Khalid Abuhakmeh

Awesome that you threw FoundationDB into the mix. Crazy to see Voron just spank it in all those scenarios. I feel the Database Wars heating up :)

Jahmai Lay
11/29/2013 01:43 PM by
Jahmai Lay

I am keen to see how Voron deals with high latency disks like Azure. A high degree of parallelism on writes would make such disks usable. For us it seems half the problem with esent writes is they are bottlenecked by the sequential transaction log.

Greg Young
11/29/2013 01:43 PM by
Greg Young

Did you turn off disk caching?

Also this is a very short run length. How do they change if run over say 50m?

Matt Warren
11/29/2013 02:07 PM by
Matt Warren

That bottom graph contradicts the top one. At the top it says RavenDB does sequential writes faster (more ops per second). But the bottom graph says the opposite?

Phil
11/29/2013 02:17 PM by
Phil

These graphs confuse me like Matt pointed out, does the bottom graph mean RavenDB is slower than ESENT?

OmariO
11/29/2013 03:33 PM by
OmariO

Turns out Esent is pretty good as a db engine.

Ayende Rahien
11/29/2013 04:04 PM by
Ayende Rahien

Graham, Off by 0 error, it should be an order of manitude higher for Esent.

Ayende Rahien
11/29/2013 04:05 PM by
Ayende Rahien

Khalid, This isn't db wars, this is just storage. This is a lot lower than what db do.

Ayende Rahien
11/29/2013 04:06 PM by
Ayende Rahien

Jahmai, We will also have problems with high latency writes. We have a sequential transaction log. A non sequential transaction log is quite hard to do properly. And it opens you to interesting issues regarding sequentially, which you kind of needs for transactions.

Ayende Rahien
11/29/2013 04:07 PM by
Ayende Rahien

Greg, This is a short test run specifically to show how this behave under this scenario. Mostly, because we're having users that use this micro benchmark as a way to base decisions. We're doing longer & bigger tests, yes. We'll post about them later on.

Phil. I had an typo in the graph, the Esent one should be x10 better.

Paul Turner
11/30/2013 01:05 AM by
Paul Turner

Whilst I can see there's an interesting comparison to be had between Voron and Esent as competing storage engines, I'm not sure I follow the comparison against full databases; aren't they providing a significant layer on top of their own storage engines? Storage is indeed a lot lower than what DB's do.

Seeing you track your performance gains against Esent is quite exciting. Will you be explaining how you're making these gains?

Ayende Rahien
11/30/2013 05:09 PM by
Ayende Rahien

Paul, People are going to do that, we need to be able to see where we stand. And we are able to see how other db engines do that. I'm having a lot of blog posts to show this off, yes. And explain exactly what we are doing.

Comments have been closed on this topic.