On Load Testing

Posted by on November 16, 2008

(ed. Yes, I suck. I’ll start doing this more. I promise)

One of the things I’ve been thinking about recently is load testing. It seems like the great white whale of Oracle testing, to validate the effects of load on a running system. I think the reason it proves elusive is:

1) It seems so easy. C’mon. You think, there has to be an easy way of doing this…
2) Simple hardware changes between systems make big differences. Getting a ‘perf’ installation to look JUST like production is expense and difficult to justify. No one cares about performance until it sucks.
3) Just what data am I load testing? Things like Swingbench aren’t very specific about what data they are using. And the devil is in the details here – if you aren’t testing transaction for transaction, like for like, you’re screwed.
4) Pseudo testing. ‘We don’t need to do real testing or transactional replay – we can simulate the load. We won’t be pushing transactions through the system.’ Doesn’t work, no matter who says it.

In the 9i days, I was a huge fan of using logminer to get the transactions then replaying it on a sister system. It gave completely accurate results – but it was still costly in terms of time and resources (human and otherwise).

In 11g, Database Replay (discussed here) does the job nicely. I still worry that this kind of functionality strains the redo management a little too much, warping the internals a bit. But, in testing, it tends to get within 5% of the actual results, which is impressive.

Its a slick tool, that may be the final word in load testing an Oracle database.

Trackbacks

Use this link to trackback from your own site.

Comments

You must be logged in to leave a response.