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



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" />


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
ObjectDB - Fast Object Database for Java (JPA/JDO)

I added a Visual VM profiling file.


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
ObjectDB - Fast Object Database for Java (JPA/JDO)

Post Reply

To post a reply and/or subscribe to update notifications - please login