Rally and Httperf

Hi Eric,

Rally uses the Thespian Actor System which, in turn, is multi-process based. My understanding is that each client corresponds to one Python3 process. Actors themselves are single threaded. See also this explanation. For the record, the instrumentation of all of this is done inside driver.py.

Rally stores its metrics in a dedicated Elasticsearch cluster, which is highly recommended anyway so that you can execute queries, use Kibana etc. This is described in the docs here and there's information how to set it up in the advanced configuration section.

Indexing threads refer to Elasticsearch's thread pool for indexing (in Java). As per the Elasticsearch docs:

Thread pool type is fixed with a size of # of available processors, queue_size of 200. The maximum size for this pool is 1 + # of available processors.

AFAIK you can't use the same Rally coordinator against two different clusters in parallel. It's better that you benchmark your clusters separately and in an isolated manner, also so that the testing results are credible and results from one cluster are not affected by testing the other cluster and vice versa.

Regards,
Dimitris

1 Like