Question

we have a strange performance problem with ObjectDB 2.5.3_01 and JBoss 7.1.1. We have two ObjectDB databases on one ObjectDB server. Production database is running 5-10 times slower than test database. Their size and number of records are almost identical. When running production database in separate test environment its speed is very good. We did a performance analysis on our 2 linux servers one running JBOSS and other running ObjectDB. - CPU utilization of JBOSS server is max 5-10% (per core) - CPU utilization of JBOSS server is 80-150% (this is per core)

Now is the interesting part, when running a query from ObjectDB explorer CPU utilization is minimal ie. 1% Running a query from ObjectDB explorer on complete database which has 12000 records takes 30ms which we think is very good. In our web application this behaviour gives aprox 10-13 s of refreshing a data table vs 2 second with test database.

Does anybody have any idea what could be wrong.

Was it helpful?

Solution

The problem was found to be a circular eager relationship, defined in that specific application, which required loading of many objects recursively with the query results.

The solution was to change the relationship setting from eager to lazy.

More details can be found in this forum thread.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top