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

[Serve] add new sets of performance test for max_ongoing_requests=100 and doc change #46399

Merged
merged 5 commits into from
Jul 5, 2024

Conversation

GeneDer
Copy link
Contributor

@GeneDer GeneDer commented Jul 3, 2024

Why are these changes needed?

Re: #45943 changed the default max_ongoing_requests down to 5 which caused the overall rps lower as will. This PR did two things:

  1. Added a set of performance tests for max_ongoing_requests =100
  2. Added related doc change to explicitly calling out setting up a higher value for max_ongoing_requests for lightweight requests

Related issue number

Closes metrics dropping at https://b534fd88.us1a.app.preset.io/explore/?form_data_key=YWenQf8xEN9DHx7wmFVo3cRXYD-xoqObnK7HEC8J2Ho8FMnPCYM-d_as4EO7CG4b&dashboard_page_id=DCipe40Dxo&slice_id=1380

Checks

  • I've signed off every commit(by using the -s flag, i.e., git commit -s) in this PR.
  • I've run scripts/format.sh to lint the changes in this PR.
  • I've included any doc changes needed for https://docs.ray.io/en/master/.
    • I've added any new APIs to the API Reference. For example, if I added a
      method in Tune, I've added it in doc/source/tune/api/ under the
      corresponding .rst file.
  • I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
  • Testing Strategy
    • Unit tests
    • Release tests
    • This PR is not tested :(

@GeneDer GeneDer added bug Something that is supposed to be working; but isn't serve Ray Serve Related Issue labels Jul 3, 2024
@GeneDer GeneDer requested review from edoakes and zcin July 3, 2024 02:34
@GeneDer GeneDer self-assigned this Jul 3, 2024
@GeneDer GeneDer added the go add ONLY when ready to merge, run all tests label Jul 3, 2024
@edoakes
Copy link
Contributor

edoakes commented Jul 3, 2024

@GeneDer how much was the decrease? If it's substantial, we should reconsider the change, as we don't want people to benchmark the defaults and see a big decrease...

When I previously did benchmarks I remember the perf. being very similar at 5 and 10 max concurrent requests

@GeneDer
Copy link
Contributor Author

GeneDer commented Jul 3, 2024

@GeneDer how much was the decrease? If it's substantial, we should reconsider the change, as we don't want people to benchmark the defaults and see a big decrease...

When I previously did benchmarks I remember the perf. being very similar at 5 and 10 max concurrent requests

HTTP went from 430ish to 300ish, ~30% drop
Handle went from 900ish to 540ish, ~40% drop

@edoakes
Copy link
Contributor

edoakes commented Jul 3, 2024

@GeneDer how much was the decrease? If it's substantial, we should reconsider the change, as we don't want people to benchmark the defaults and see a big decrease...
When I previously did benchmarks I remember the perf. being very similar at 5 and 10 max concurrent requests

HTTP went from 430ish to 300ish, ~30% drop Handle went from 900ish to 540ish, ~40% drop

This is not good. Can we run it w/ the default changed to 10 from 5?

@GeneDer
Copy link
Contributor Author

GeneDer commented Jul 3, 2024

Also just paste screenshots, here to keep them in the history for easy reference in the future
before #45943 was merged
image

after the merge
image

@GeneDer
Copy link
Contributor Author

GeneDer commented Jul 3, 2024

@GeneDer how much was the decrease? If it's substantial, we should reconsider the change, as we don't want people to benchmark the defaults and see a big decrease...
When I previously did benchmarks I remember the perf. being very similar at 5 and 10 max concurrent requests

HTTP went from 430ish to 300ish, ~30% drop Handle went from 900ish to 540ish, ~40% drop

This is not good. Can we run it w/ the default changed to 10 from 5?

sg, let me get that running

@zcin
Copy link
Contributor

zcin commented Jul 3, 2024

From https://buildkite.com/ray-project/release/builds/18857#01907a5e-c295-4eef-b039-1bf6d79eff28 seems like setting max ongoing requests to 10 gives:
Handle throughput: 783.39 (~12% drop)
HTTP throughput: 371.66 (~13% drop)

…doc around using higher valuer for light weight requests

Signed-off-by: Gene Su <[email protected]>
@GeneDer GeneDer added go add ONLY when ready to merge, run all tests and removed go add ONLY when ready to merge, run all tests labels Jul 5, 2024
@aslonnie aslonnie self-requested a review July 5, 2024 18:29
@aslonnie
Copy link
Collaborator

aslonnie commented Jul 5, 2024

CI running here:
https://buildkite.com/ray-project/premerge/builds/27550

but not sure it will properly post the status or not

@GeneDer
Copy link
Contributor Author

GeneDer commented Jul 5, 2024

@edoakes and I talked offline about the approach. We decided to add another set of tests to show the performance numbers of previous config when max_ongoing_requests is at 100. And make an explicit call out for setting this in the doc for lightweight requests.

The release test ran on this branch shows the performance numbers at the previous and current max_ongoing_requests settings. @edoakes can you PTAL
image

@GeneDer GeneDer changed the title [Serve] add back max_ongoing_requests=100 for serve microbenchmark [Serve] add new sets of performance test for max_ongoing_requests=100 and doc change Jul 5, 2024
@edoakes edoakes merged commit 7ee7f40 into ray-project:master Jul 5, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something that is supposed to be working; but isn't go add ONLY when ready to merge, run all tests serve Ray Serve Related Issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants