Potential major performance issue when using transactions

We came across a major performance issue with version 3.0.29 when compared to 2.2.16 when using a transaction while existing data was updated or deleted or new data added. We noted that if there is a larger set of data to be added - in our case 10,000 entries - the performance slows down drastically. Tests showed that in 3.0.29, with the use of a transaction, it took roughly 21 minutes to insert the 10,000 entries into the database - without the transaction, just 6 seconds. Going back to 2.2.16, the same operation with the transaction was done in 20 seconds. The tests were performed with a Java application (Java 8) using the related OrientDB APIs. The test creates an ODocument for each object to be added and then saves it. The test uses a remote connection.

Unfortunately, we need the transaction in place. Any idea on how to improve the time would be welcome.


We downloaded the latest 3.1 version (3.1.12) and executed the same test in this environment. This actually needed 5 more minutes to finish the job when a transaction was used, 26 rather than 21 minutes. We also wanted to try it with the latest 3.2 version but the download of it failed. But we would not have expected a difference.

Since it was working really nicely in 2.2.16, it would be of interest to know what changed to see such major performance issues.