ObjectDB ObjectDB

Query Execution on parallel threads don't lead to performance improvements

#1

Hello,

we want to execute querys in parallel threads on the same entity type in order to increase the performance.

But we don't see any performance improvements.

Is there any possibility to improve the query performance with parallel threads?

We use the ObjectDB as an embedded database and the processing cache is greater than the db file.

<processing cache="512mb" max-threads="10" synchronized="false" />

edit
delete
#2

It seems that the settings are fine. A parallel query execution doesn't necessarily improve performance, if the serial execution already consumes all the resources.

Could you please share CPU and disk usage information in both cases, to see where is the bottleneck?

ObjectDB Support
edit
delete
#3

I added a Visual VM profiling file.

edit
delete
#4

Thank you for providing the profiling file.

Is it a parallel reading? It seems that the activity is in a single thread, main. Are you trying to run multiple queries in parallel or a single query? Not every query can benefit from parallel execution.

Regarding the profiling data, it seems that time is spent on using temporary files. You may want to try increasing the configuration of the temporary file threshold, to reduce the use temporary files (although it may require more RAM).

ObjectDB Support
edit
delete

Reply

To post on this website please sign in.