Fixes numerous bugs including:
- Thread related issues.
- Wrong timing of queries.
- Only one instance of the server / client is allowed to run at a time on the same machine.
- Query counts not updating correctly.
- Network code made a little more efficient by sending query results from the client to the server in batches of five.
- Overall memory consumption lowered significantly in the Server.
Update: There is an issue with how the test progress is displayed in both the server and client. This is due to the new multithreading support which wreaks havoc with my variables and / or events. This does not affect the execution of the test itself, just the progress report.
Note that I have changed the version scheme to align with the codeplex scheme.
This release fixes some nasty bugs and adds a couple of features:
- Fixed a bug where the server would crash if clients could not connect to the target.
- Added tool-tips to most controls.
- Added a log window to the server that displays server and client activity.
- Added the option to run multiple threads on clients.
- Expanded the delay feature so that client threads pause a random number of milliseconds between a low and high value before issuing the next query.
- Made the server a lot less resource (CPU) intensive.
Note that existing tests (.test) will break with this release.
A new release has been added that addresses a couple of bugs:
- Error counts in the client and server now update correctly.
- The query list behaves as one would expect when deleting queries.
- Previously the “execute test” button would be grayed out when a test completed. This has been fixed.
Some minor stuff:
- Query editor now accepts newline
- Added option to clear SSAS cache before executing test
If you have saved tests in the previous version these will break unless you add the following to the xml under the <test> root:
Yes, I am still planning to do some documenting 😉
This is the first public release of a tool that started out as a small script for a customer project. It has been rebuilt into a WPF solution loosely following the MMVV pattern.
What is Stress Tester?
- A distributed client – server solution to stress test SQL Server Analysis Services.
- Tests can be created from trace files or manually in the server application.
- Consists of two applications: A server that manages and coordinates tests and a client that can be deployed to multiple computers.
- Outputs a flat file with the test results that can be analyzed through a supplied (very simple) Excel PowerPivot model.
Why would I need it?
- To test the performance of Analysis Services in a “realistic” scenario where multiple clients concurrently issue queries.
Where can I get it?
Anything I should keep in mind?
- This is Alpha software meaning bugs and issues are more or less guaranteed to pop up. To make things worse this software was developed by me – Peter. I am not a professional software developer but love programming as a hobby.
- The network code uses synchronous TCP. This means it does not scale very well. I have tested it with ten clients but adding large numbers might slow things down. Moving to async TCP is on the list of future improvements.
- StressTester is a client – server application where the server remotely controls the actions of the client program. This obviously is a concern security-wise and the solution should not be deployed outside a firewall.