We use point-to-point message processing over HTTP to evaluate the performance of the software systems under test. The open source PerfHarness tool is used to concurrently maintain a number of HTTP/TCP connections to the server and repeatedly send prefabricated HTTP payload messages before waiting for, receiving, and discarding the reply message separately on each connection. Once a reply has been received, a new request is sent on the same connection with the same payload as earlier requests.
The connections are kept open for a predefined number of request-response interactions as allowed by the HTTP persistent connections scheme. Once the predefined number is reached, the connection is closed and a new one is opened in its place. This process is repeated on each connection until a predefined time interval runs out, at which point all connections are closed regardless of how many requests have been sent over them, but not before a reply has been received for the request currently in flight over the connection if there is one â€” and there can only be at most one as we don’t pipeline requests.
We refer to the collective of all request-response interactions that have taken place during this predefined time interval as a test run.