Key elements in AS Performance Workbench (refer to the screen capture below):
  1. SSAS Server\Instance. Before testing, enter the server\instance to connect to, and select the database for testing from the drop-down list.
  2. The Product Version (SSAS 2005 or SSAS 2008) should be selected, so that correct counter names are used during testing.
  3. The Start Counters / Stop Counters buttons begin and end the counter data collection, which proceeds at a rate of 1 sample/second.
  4. Place all MDX queries to run in the load test in a folder, and enter or select that folder in the Path for Queries field before pressing the Start Test button
  5. The Test Profile controls how queries are submitted to the server
    1. All queries on each thread (filename order) - runs all queries on each thread, in order of filename alphabetically. Use to provide a predictable workload for precise comparisons.
    2. All queries on each thread (random order) - runs all queries on each thread, in random order on each thread. Use to simulate "real world" scenarios where query order is unpredicatable.
    3. Each query on its own thread - runs each query on a different thread in parallel. Use to examin the effect of specific queries running simultaneously.
  6. Threads. This tells the workbench how many simultaneous connections to make to the SSAS server. Depending on the intent of the test, threads can be used to simulate concurrent queries (no think time) or concurrent users (random think time).
  7. Think Time. If think time is entered, each thread will pause for a random number of seconds between the range given before submitting its next query.
  8. Clear Cache. This button will clear SSAS and Windows File Caches immediately. This function requires the ASSP assembly to be installed on the server. See
  9. Counter Stop. Counter data collection will automatically stop this many seconds after all queries have completed.
  10. Start Test/Stop Test. When Start Test is pressed, the test is started. First, Workbench starts the number of threads specified, and opens a database connection on each thread. Next it begins submitting queries on each thread. The test is complete when all queries scheduled for all threads completes (or when the Stop Test button is pressed).
  11. As the test proceeds, counters are monitored and plotted on the Performance Chart, which is updated every second. If a thread detects a query that has failed to complete successfully, a vertical red line is overlaid on the chart.
  12. The lower grid displays the current value of counters, and updates statistics for Average, Max and Min values during the entire test run. Use the Enabled checkbox to select whether to plot a line on the chart.
  13. The Report Path specifies where reports are saved
  14. The Report Title is embedded in the HTML report.
  15. Save Report generates an HTML report for documentation purposes.

The typical workflow to run a stress test is:
  1. Connect to the SSAS instance
  2. Specify the Path for Queries, Test Profile, Threads, and Think Time
  3. Clear Cache
  4. Start Counters (then wait a few seconds to allow them to stabilize)
  5. Press the Start Test button
NOTE: If you're running AS Performance Workbench on the server you're testing, run the application as Administrator. If run without the Administrator SID, you may not be able to read SSAS counters on some systems (such as Windows 7)

Last edited Oct 5, 2011 at 10:20 AM by robkerr, version 3


aashishthakker Apr 6, 2011 at 10:16 PM 
Hi Rob,

We have a sample query for one of our cubes that we wish to measure performance for and it keeps getting "timed out". The error message we get is

Exception: XML for Analysis parser: The XML for Analysis request timed out before it was completed.

Any ideas how/where we can change a timeout setting?

NOTE: When we run this mdx directly in BIDS it does work/execute correctly.