I am testing the performance of an application that links to a DB2 database engine at the back end.
Looking at the transaction timer logs, I see that on the 37'th minute into the test run, transactions take a very high time to process. This lasts for maybe a few seconds and then the run proceeds at acceptable speed.
I've done three test runs (restoring the data to initial test data, clearing up everything = basically, ensuring each run has the same starting position) and they all experience the same phenomenon: at the 37'th minute, a performance spike:
My current lead is that I notice, on the second run it's more visible, that every 37-ish minutes, there's a "minispike".
I think what's going on is the DB2 is doing some regular maintenance every 37 minutes, and the first maintenance job is a bit harder, as the machine hasn't cached a required program or...?
I am wondering what advice can I get to investigate this further? Debugging my own application did not show any reason to hang as it does there.
DB: DB2 10.5.0.7
OS: SLES 12 0
App: Precompiled to bind to DB2 in 64-bit mode