views:

106

answers:

2

Calling all database guys...

The situation is this: I have a DB2 database that is being written to and read from. I need to do some performance testing on programmatically executed read/writes.

I know how to write a program to read/write to this database, but I am not sure as to what factors I should consider in my performance test.

Do I need to worry about the difference between one session reading/writing vs multiple sessions?

What is the best way to interact with DB2 itself to get the amount of time these executions take?

The process I am testing is basically like a continuous batch proccess, constantly taking messages and persisting them. There will probably only be one or two sessions max on the DB at any given time.

Is time it takes to read/write really the best metric?

I am sure there are plenty of tools for this sort of testing. Any advice is appreciated.

Further info:

One thing I am considering is to try is to run X number of reads/writes with my database API (homebrew) and try to "time" how long it takes. Unfortuneately DB2 will buffer these messages. Is there any way to get db2 to do a callback when it is done with a read/wirte? Or some way to externally measure the time these operations take? (tool, ect)

A: 

What is the goal for your performance testing?. Is it to test the performance for concurrent users or is it to test the load for batch process. Based on this there are tools available to test this. You may want to look jmeter from Apache.

In that case, you may want to trigger couple of concurrent processes to simaltaneously CRUD the data and monitor the activity using performance expert or something similar to that. While you do that you may want to use larger output so that you would be able to find any bottlenecks with larger sets of data. search for performance tuning in IBM redbooks site and you will find some case studies for this.

kishore
The testing is more along the lines of a batch/continue process.
windfinder
A: 

One huge factor in DB2 performance is how Buffer Pools are configured. e.g. http://www.ibm.com/developerworks/data/library/techarticle/0212wieser/0212wieser.html

David Plumpton