I looked for a possibility to test an OBIEE system regarding performance. Therefore I want to simulate user behavior and query reports to exeute requests. I found Apache JMeter, an open-source application for load testing. Following I describe my easy setup scenario.
First I downloaded the current Apache JMeter release 2.8 for windows. After extracting I executed <JMETER_DIR>\bin\jmeterw.cmd and got an application window.
Now I created a new Thread Group (testplan > add > Thread (Users) > Thread Group). Within this Thread Group I added a HTTP Request Defaults (Thread Group > add > Config Element) and a Recording Controller (Thread Group > add > Logic Controller). I filled the OBIEE servername and analytics port (7001 or 9704) in HTTP Request Defaults web server area.
Next I added a HTTP Proxy Server to Workbench section (Workbench > add > Non-Test Elements). I attended the Port and configured my favorite web browser to use a proxy connection with “localhost:8080″. Now I started the Proxy by clicking the Start button.
I switched to my web browser which used the started proxy for network connection and played around with OBIEE (login, call dashboard pages, open reports and so on). These actions have been recorded in JMeter.
When I finshed recording I stopped it by clicking the Stop button. As result I got a testplan that can be repeated at any time. Now I wanted to execute this testplan as more then one user. I selected Thread Group and configured “Number of Threads” and “Loop Count”. Number of Threads is the number of simulated users. Loop Count is the number that each user repeats the testplan.
After saving my testplan I executed it by clicking the Play button. Taking a look to Enterprise Manager Performance Monitor I could see some action:
Playing around with number of threads or different testplans and monitoring with different tools (Enterprise Manager, top …) helps me to appraise the system.