Generally, we aim to test the products in their default configurations unless they are for some reason not suitable for the test. There is one concurrency-related setting on message flows that we change from its default value.
With the goal of efficiently using the available CPU capacity, we set the “Additional instances” property of message flows under the Workload Management group of configuration options, in line with the concurrency requirements of the test being executed. For each test, we set the total number of message flow instances to three times the number of “virtual” CPU cores configured on the server container. By “virtual” CPU cores, we mean the CPU capacity that we artificially restrict our server processes to using the OS-level facilities mentioned in the Reporting Performance Metrics page, and they do not necessarily correspond to physical or OS-level logical CPU cores, or any other formal CPU count. For our tests, this has proven to be a reasonable compromise between excessive context switching overhead and having too few threads to serve the inbound workload.