CERN Accelerating science

Performance of EOS with QuarkDB?

Hi, we have one EOS test instance upgrading from 4.4.23 to 4.6.8 and in-memory namespace to QuarkDB 0.4.2. The odd thing is the writing performance of EOS decreased from 1000/s to 700/s. And the delete ratio was kind of low , about 44/s. We are inspecting the performance of our JBOD.

The question is, will the performance decrease after upgrading to QuarkDB and how good is the QuarkDB performance, compared to in-memory namespace?

Hi Yujiang,

It’s not entirely clear what you are measuring… does 1000/s mean files written per second? What’s your benchmarking setup?

In general, a few things are slightly slower with QuarkDB namespace, but in general usage it should not be noticeable. 30% is a significant difference, it would be nice to understand where exactly it’s coming from.

A large amount of changes occurred between 4.4.23 and 4.6.8, so it’s difficult to tell what is the cause of the performance decrease. It would be best to make one change at a time when benchmarking (ie benchmark -> move to 4.6.8 -> benchmark -> move to QDB namespace -> benchmark), to be able to separate the effects of a new version vs a namespace change.

There’s been a few performance optimizations in recent EOS versions to boost the throughput of the QuarkDB namespace, maybe try upgrading to a more recent version than 4.6.8 and let us know if it helps.


Hi, Georgios. Thanks for the help. We are benchmarking the writing performance, and yes, 1000/s means 1000 files written per second. We testes EOS 4.4.23 w in-memory namespace and EOS 4.6.8 with QuarkDB, while EOS 4.6.8 with original namespace not tested. We will check how good the performance is with such configurations.

We are planning to upgrade EOS from 4.4.23 to 4.6.8, so we just test EOS 4.6.8. We deployed EOS 4.6.8 with in-memory namespace and same configuration as before. The writing performance is about 880/s with default setup. And the performance with QuarkDB now is about 9% slower instead of 25%, which is much more reasonable.

BTW, is there any suggestion for improving the performance of EOS with QuarkDB?

Hi Yujiang,

That’s good news, 9% lower throughput with the QDB namespace sounds about right – the in-memory namespace is still a bit faster, since all operations are in-memory which translates into lower overhead.

In general we’re constantly looking for optimization opportunities, for example there’s a few more performance improvements in the 4.8.x releases. If you have more performance measurements let us know. :slight_smile:

(By the way, we don’t run the in-memory namespace at CERN anymore, we’ve migrated all of our instances)