Opensearch-Benchmark --target-host with comma delimited host:port gets timeout

Versions (relevant - OpenSearch/Dashboard/Server OS/Browser):

Per the --help flag:
Define a comma-separated list of host:port pairs which should be targeted if using the pipeline ‘benchmark-only’
(default: localhost:9200).

When passing --target-host=localhost:9200,localhost:9201 for benchmark I get a timeout error for each port. when passing each individually (i.e. --target-host=localhost:9200 or --target-host=localhost:9201) both Opensearch nodes run as expected.

Is there an example of running opensearch benchmark against a cluster using --target-hosts with a comma delimited list? i have not seen an example except from the help flag which doesn’t seem to like my command.

TiA

Describe the issue:

Configuration:

Relevant Logs or Screenshots:

@titoreinhart OpenSearch Benchmark executes workloads against the cluster. A single endpoint is needed to access the cluster. There is no need to specify more than one target cluster node.

@pablo thanks for the response - perhaps the documentation re: the help flag is a bit misleading?

–target-hosts TARGET_HOSTS, -t TARGET_HOSTS
Define a comma-separated list of host:port pairs which
should be targeted if using the pipeline ‘benchmark-
only’ (default: localhost:9200).

it would seem that this would indicate that host:port pairs can be passed if multiple clusters are targeted. This would seem reasonable considering that opensearch-benchmark as a client has fairly low cpu overhead, and running concurrent processes’ is not possible (unless of course you use docker containers).

If I am targeting N-clusters across different machines over a network, passing a comma delimited list per the documentation is necessary.

@titoreinhart, I’ve tested that option and found it working for both endpoints.
However, I used https://<OpenSearch_endpoint>:9200 format.

This is my example

docker run  opensearchproject/opensearch-benchmark execute-test --target-hosts https://docker1.pablo.local:9200,https://docker4.pablo.local:9200 --pipeline benchmark-only --workload geonames --client-options basic_auth_user:admin,basic_auth_password:Eliatra123,verify_certs:false --test-mode

I see - I have been able to get this to work with docker. Appreciate the follow up.

1 Like