LoadGen does not generate EWS traffic, so there was a need to write a tool which could.  This is a sample application which demonstrates you might place a heavy load of EWS calls against an Exchange server in order to test performance.  

It is intended to be used in a lab and for educational purposes only.  Used incorrectly it can generate enough traffic to effectively take down an Exchange server by generating DOS-Attack levels of calls.  It is not intended to be used in a production environment.  By using the code or binary of this application, you take responsibility for its usage and what it may do.

This is a console application which works off of a CSV format configuration file being passed to it as a command line parameter. The config file is central in establishing what type and amount of load generated. The config file controls what tests are done and how many instances of that test are performed at the same time. You can have multiple instances of the same test running at the same time by adjusting the NumberOfSimultaneousCalls setting, which controls the number of threads the test will be performed on.  When a test on a thread completes, the thread will pause for the amount of time specified by the MillisecondsBeforeNextCall setting and then the test will repete on the same thread.

Output is directed to the screen in a columnar fashion by default. The application can also write its output as a CSV file. The generated CSV file can be loaded into Excel for review. The first line in the config file is a header file and is required. All blank character spaces will be stripped from the log file when its read. Be sure to not include commas in the data used in the file since commas are field delimiters. Blank lines will be skipped.

Both Autodiscover and direct URL reference are supported. Impersonation is currently not supported in this version.

This application uses .NET 4.0
The 2.0 version of the Exchange Managed API.

Last edited Jul 30, 2013 at 8:25 PM by Dseph, version 4