Skip to content

Update performance scaling test rig #1096

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

Merged
merged 2 commits into from
Feb 24, 2023

Conversation

rzats
Copy link
Contributor

@rzats rzats commented Feb 24, 2023

Prerequisites:

  • Unless it is a documentation hotfix it should be merged against the dev branch
  • Branch is up-to-date with the branch to be merged with, i.e. dev
  • Build is successful
  • Code is cleaned up and formatted

Summary

Adds several updates to the performance scaling test rig:

  • Now clones cmu-delphi/delphi-admin repo, so files do not need to be duplicated to this repo.
    • The test files added to this repo have been deleted accordingly.
  • Changes the approach to selecting queries performance testing - instead of running queries from a small sample for a fixed amount of time, runs every query from a larger sample once; this is more consistent across multiple runs.
  • Writes Locust output to an artifact in the GitHub Actions run.

@rzats rzats requested review from melange396 and krivard February 24, 2023 14:30
melange396
melange396 previously approved these changes Feb 24, 2023
Copy link
Collaborator

@melange396 melange396 left a comment

Choose a reason for hiding this comment

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

looks pretty good!

on the wishlist: it might be nice to have summary info about the results of the run included in the follow-up comment, like the running time of the docker run locust command or a count/percent of the failed queries. this looks like a good way to get information passed between the jobs.

- name: Build & run Locust
continue-on-error: true # sometimes ~2-5 queries fail, we shouldn't end the run if that's the case
Copy link
Collaborator

Choose a reason for hiding this comment

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

what are the failures? they only happen transiently?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There are two queries from the "v4 - small" set that consistently fail.

Copy link
Contributor

@korlaxxalrok korlaxxalrok left a comment

Choose a reason for hiding this comment

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

LGTM 👍

Copy link
Contributor

@krivard krivard left a comment

Choose a reason for hiding this comment

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

👍 happy to have this merged as-is; question is largely out of curiosity

docker build -t locust .
docker run --net=host -v $PWD:/mnt/locust -e CSV=/mnt/locust/v4-requests-smaller.csv locust -f /mnt/locust/v4.py --host http://127.0.0.1:10080/ --users 10 --spawn-rate 1 --headless -t 15m
export CSV=v4-requests-small.csv
Copy link
Contributor

Choose a reason for hiding this comment

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

question: why move the CSV filename into a variable?

(is it a stub for being able to override it in the future?)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's just to avoid repeating the same filename twice, since it's now used in the wc -l bit as well.

@rzats rzats merged commit 79cd6d6 into dev Feb 24, 2023
@rzats rzats deleted the rzatserkovnyi/performance-testing-rig-updates branch February 24, 2023 19:54
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.

4 participants