Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename parameters for Distributed Workload Generation - Issue 258 #407

Merged
merged 2 commits into from
Nov 7, 2023

Conversation

dosa-chammandi
Copy link
Contributor

@dosa-chammandi dosa-chammandi commented Nov 6, 2023

Description

The terminology used in Distributed Workload Generation is updated.
Once all the hosts have had the daemon successfully start on them, we run the following command on the host we designated as --coordinator-ip.

Run test command on coordinator

opensearch-benchmark execute_test --pipeline=benchmark-only --workload= --load-worker-coordinator-hosts=<IP2,IP3> --target-hosts=

The parameter "--load-worker-coordinator-hosts" is renamed to "worker-ips" to be consistent with --node-ip and --coordinator-ip.

Issues Resolved

[#258]

Testing

To use Distributed Workload Generation, users have to first start the opensearch-benchmark daemon on all hosts they plan to distribute load from. One of the hosts --referred to as the load coordinator host -- coordinates requests while the others -- referred to as worker-ips -- will drive the requests / load. For example, if we have three hosts -- denoted by IP1, IP2, and IP3 --, we would do run the corresponding command on each host:

Run on IP1 Host

opensearch-benchmarkd start --node-ip=<IP1> --coordinator-ip=<IP1>

Run on IP2 Host

opensearch-benchmarkd start --node-ip=<IP2> --coordinator-ip=<IP1>

Run on IP3 Host

opensearch-benchmarkd start --node-ip=<IP3> --coordinator-ip=<IP1>

Once all the hosts have had the daemon successfully start on them, run the following command on the host we designated as --coordinator-ip in the commands above (in this case, IP1):

Run test command on IP1 Host

opensearch-benchmark execute-test --pipeline=benchmark-only --workload=<workload> --worker-ips=<IP2,IP3> --target-hosts=<endpoint>

This starts the test. IP1 is the coordinator and delegates a portion of ingestion and search requests for IP2 and IP3 to send to the target cluster.

It is expected to run the tests successfully. The following screenshot is an output from a test.

DWG_success


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Copy link
Collaborator

@IanHoang IanHoang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good overall. Was curious on the screen shot, do you know why the last operation only had 77% complete and there was no report published?

@dosa-chammandi
Copy link
Contributor Author

Changes look good overall. Was curious on the screen shot, do you know why the last operation only had 77% complete and there was no report published?

Hi @IanHoang ,
I had to stop the test as the process got stuck due to "No space left on device error" on the worker ips.
no_space_Screenshot 2023-11-07 004135

Here is the screenshot of the log from the coordinator node. It shows a warning as it cannot reach the worker ips by GET.

503_error_Screenshot 2023-11-07 004235

@IanHoang
Copy link
Collaborator

IanHoang commented Nov 6, 2023

@dosa-chammandi That makes sense, can you clear the data in the worker ips by deleting the corpus in ~/.benchmark/data/geonames and rerun the test with --test-mode. This flag just runs a quick test and will ensure that there are no bugs.

@dosa-chammandi
Copy link
Contributor Author

dosa-chammandi commented Nov 6, 2023

Hi @IanHoang ,
Successfully tested with --test-mode. Attaching few screenshots,

Screenshot 2023-11-07 024208_success1

Screenshot 2023-11-07 024300_success2

Screenshot 2023-11-07 024328_success3

@IanHoang IanHoang merged commit 3adacc0 into opensearch-project:main Nov 7, 2023
8 checks passed
AkshathRaghav pushed a commit to AkshathRaghav/opensearch-benchmark that referenced this pull request Nov 8, 2023
AkshathRaghav pushed a commit to AkshathRaghav/opensearch-benchmark that referenced this pull request Nov 8, 2023
IanHoang pushed a commit to IanHoang/opensearch-benchmark that referenced this pull request Jan 9, 2024
@IanHoang IanHoang mentioned this pull request Jan 9, 2024
1 task
gkamat pushed a commit that referenced this pull request Jan 10, 2024
@IanHoang IanHoang mentioned this pull request Feb 14, 2024
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants