I've some application, making database demands. I suppose it does not really matter, what type of the database I'm using, but let us say it is a simple
Now, this application runs like a service and does some quantity of demands each minute (the dpi might really be huge).
I am prepared to benchmark the queries to retrieve their number, maximal / minimal / average running time for many period and If only to create my very own tool with this (clearly, you will find some, however i need my very own for many appropriate reasons :).
So - would you advice a strategy with this task?
I suppose you will find several possible cases:
1) I have the application source code. Here, clearly, I wish to have kind of mix-application integration, most likely using pipes. Would you advice something about how exactly do this and (if there's one) every other possible solution?
2) I do not have sources. So, is even easy to carry out some neat injection from the application to benchmark another one? I really hope there's a means, maybe hacky, whatever.
I suppose it does not really matter, what type of the database I'm using, but let us say it is a simple SQLite-driven database.
It is extremely important what type of database you utilize, since the database-manager may have integrated monitoring.
I possibly could speak no more than IBM DB/2, however i beliefe that IBM DB/2 isn't the only dbm with integrated monitoring tools.
Here for instance an short overview what you might monitor in IBM DB/2:
- claims (all performed claims, execution count, prepare-time, cpu-time, count of reads/creates: tablerows, bufferpool, logical, physical)
- tables (count of reads / creates)
- bufferpools (logical and physical reads/creates for data and index, read/write occasions)
- active connections (running claims, count of reads/creates, occasions)
- locks (all locks and kind)
- and much more
Monitor-data might be utilized via SQL or API from own software, like for instance DB2 Monitor does.