This time I come here with a very specific question. Because of us having tremendous performance problems with tracking processors and after some profiling of one of our services we decided that disabling the optimizeEventConsumption flag in our EmbeddedEventStore was a good idea to try out. Well, it did not help much, in fact our average event processing lags went from 200ms approx to 1s (curious enough, super steady in that value, except for crazy peaks that are the main pain we are suffering and we cannot figure out with or without that flag enabled). Anyways, I am divagating…
The thing is that as expected, we saw a massive increase in event store DB load and that makes sense since we are using it from more threads than before. It is also explained in the Java Doc. However, we see also a massive decrease in DB load in out Query Model (where the Token Entry table lives) - We have noticed that the “Update Token Entry” statements are used way more often with the flag disabled and are consuming all this load. There are also a high number of delayed commits causing this extra load. So, why with this option disabled we are seeing way less load in out TokenEntry table? I want to enable back on because in general, it seems to be helping application performance but I don’t want my query model database to be overloaded again…
Looking forward to your answers.