Bryan Pendleton <[email protected]> writes: > As part of DERBY-3002, I'm investigating using the "wisconsin" database schema > to build and run some GROUP BY benchmarks. > > I found o.a.dT.perf.clients.WiscFiller, which looks like a program > designed to populate a wisconsin-schema test database with sample > data, which would be great and would save me a bunch of time. > > Are there some examples of how we typically use this program for bechmarking? > > Better still, is there an existing wisconsin-based performance benchmark > that I could simply add my test cases to?
Hi Bryan, The WiscFiller class isn't a stand-alone test, but it's used by org.apache.derbyTesting.perf.clients.Runner to populate the database if you specify "-load index_join" on the command line. That particular test performs a "SELECT TENKTUP.UNIQUE1 FROM TENKTUP, ONEKTUP WHERE TENKTUP.UNIQUE1 = ONEKTUP.UNIQUE1" (or something like that, just taking this from memory) on the Wisconsin tables, as specified in IndexJoinClient. If you want to create another benchmark that uses the Wisconsin schema, it should be as simple as creating a new class that implements the Client interface and model it after IndexJoinClient, and wire it into the command line option parsing in the Runner class. It is also possible to do it without touching the Runner class. Then you'd need to invoke WisconsinFiller.fill() yourself to populate the database, and create a BackToBackLoadGenerator object on which you call init(), startWarmup(), startSteadyState(), stop() and printReport() in that order. You'll also need a Thread.sleep() call between startWarmup() and startSteadyState(), and between startSteadyState() and stop(), to make the warmup and the steady-state phases last as long as you want. -- Knut Anders
