|
How to Stress Test BW the Easy Way |
|
|
|
Written by Mike Curl
|
|
Thursday, 04 January 2007 |
|
Page 1 of 3 We had an interesting project challenge recently. We needed to stress test our BW system prior to the first go-live. We also wanted a way to easily run a large number of queries every day, in order to get some realistic BW statistics data and establish which were the slowest queries.
We tried a number of the usual suspects first. Initially we thought we might be able to use RSRT to schedule query refreshes, but couldn't find a way to do this without quite a lot of programming. Then we tried using BEx Analyzer workbooks with multiple queries, but these got refreshed in serial rather than parallel and therefore didn't stress test our system properly. Next we thought of trying to use VBA to make multiple connections from BEx, but decided the effort would be significant. Next up we tried putting a large number of queries into a web template, and accessing this. This was promising, but it looked like the queries were being run using just one dialog process. This method also needed a lot of manual effort to set up and maintenance would have been an issue.
Then I remembered some SAP tools which I'd used before for testing web template performance (iemon and httpmon) but again these could only handle one thread at a time. But then this got me thinking about a download manager that I use a lot called Reget (www.reget.net). It's a great piece of low cost shareware and is normally used for automating downloads from the internet and making them faster by creating multiple threads. The tool has some great features that allow you to specify a username and password for a site, automatically rename and organise the downloads, SSL support and more.
It took me just twenty minutes to get a prototype working. First I obtained a list of queries from the BW system from table RSRREPDIR for the relevant InfoCubes and ODSs. I pasted these into a text editor (Textpad from www.textpad.com) and then it was simple to generate a long series of URLS using regular expressions and search and replace. The final URLS needed to be in the format:
http://host:port/sap/bw/BEx?sap-language=EN&bsplanguage=EN&CMD=LDOC&QUERY=ZY_PBC01_Q001 http://host:port/sap/bw/BEx?sap-language=EN&bsplanguage=EN&CMD=LDOC&QUERY=ZY_PBC01_Q002 http://host:port/sap/bw/BEx?sap-language=EN&bsplanguage=EN&CMD=LDOC&QUERY=ZY_PBC01_Q003
These were imported into Reget using the Import URL list command:

<< Start < Prev 1 2 3 Next > End >> |