I’d like to ask you for help regarding the axon framework performance running. We are using axon framework 4.3 in spring-boot app with PostgreSQL as event store. Our tracking event processor currently uses 16 threads with 16 segments and batch size is configured to 5000.
Our app includes the use case of import dealers from the file. In the submitted file there can be hundreds or thousands of dealers. Currently, in my case, there are 5232 dealers. Importing such a file takes around 2 minutes, which is from the business point of view unacceptable.
When importing the file, there is always created one command and one event per dealer.
During the investigation I tried to remove the body of the event handler so it only logs the info that the event was performed, however, it still takes about 1,5 minutes to execute all events.
In my test scenario, I imported 5232 dealers, which triggered 5232 events. The use case started at 10:21:14.578 and all events were processed at 2020-06-11 10:22:25.755.
In the log, there’s interesting that the threads are waiting for some time after few events processed, instead of processing other events. Please take a look at example below
processing.log (768 KB)