The tools comes with a basic console UI and tasks are backed by Tasks.xml file.


The sample file shows below:
  • Local Task
    • Batches defines global concurrent size for each iteration
    • Tasks contains all the tasks
    • Task define details for each task
    • Request define requests per task.
    • Batches under Task defines local concurrent size for each iteration
    • IsDistributed under Task indicates whether the task is supposed to be distributed or not
    • UseBatchSet under Task indicates whether to use the global Batches settings or the local Batches
  • Distributed Task
    • ServerPrefixes defines local address the tool listens for distributed tasks
    • RemoteServers contains all remote servers you would like to distribute tasks to.


To programatically add distributed tasks:

AddDistributedTask(new BatchPayload { Name = "a", LoadSize = 1, Requests = new List<HttpRequest> { new HttpRequest { Url = "http://www.google.com/search?q=parallelism" } }, Auth = null, ThroughputSize = 10, BatchSizes = new int[] { 5, 10 } });



Everything else should be slef-explanatory....

 <?xml version="1.0" encoding="utf-8" ?>
<LoadSet ServerPrefixes="http://*:8077/" Password="admin">
  <RemoteServers>
    <Server IsEnabled="True" Name="Self">http://localhost:8077</Server>
  </RemoteServers>
  <Batches>
    <Batch>5</Batch>
    <Batch>10</Batch>
    <Batch>25</Batch>
    <Batch>50</Batch>
    <Batch>75</Batch>
    <Batch>100</Batch>
    <Batch>150</Batch>
    <Batch>200</Batch>
  </Batches>
  <Tasks>
    <Task Name="GoogleSearch" IsEnabled="True" LoadSize="20" UseBatchSet="False" IsDistributed="True">
      <Auth>
      </Auth>
      <Request IsEnabled="False" Url="http://www.google.com/search?q=parallelism" ContentEncoding="UTF-8" ContentType="None" AcceptType="None" IsPost="False" IsBodyTransport="False">
      </Request>
      <Request IsEnabled="True" Url="http://www.google.com/search" ContentEncoding="UTF-8" ContentType="None" AcceptType="None" IsPost="False" IsBodyTransport="False">
        <Parameter Key="q">parallelism</Parameter>
      </Request>
      <Batches>
        <Batch>5</Batch>
        <Batch>10</Batch>
      </Batches>
    </Task>
  </Tasks>
</LoadSet>


Last edited Jun 6, 2014 at 7:34 AM by unruledboy, version 12