Skip to content

Add Kokoro performance job for release branch#14282

Merged
matt-kwong merged 2 commits intogrpc:masterfrom
matt-kwong:release-jobs
Feb 3, 2018
Merged

Add Kokoro performance job for release branch#14282
matt-kwong merged 2 commits intogrpc:masterfrom
matt-kwong:release-jobs

Conversation

@matt-kwong
Copy link
Copy Markdown
Contributor

Also update current master job to upload to the same BQ table as Jenkins

@grpc-testing
Copy link
Copy Markdown

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link
Copy Markdown

[trickle] No significant performance differences

@grpc-testing
Copy link
Copy Markdown

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link
Copy Markdown

[trickle] No significant performance differences

@grpc-testing
Copy link
Copy Markdown

[microbenchmarks] No significant performance differences

1 similar comment
@grpc-testing
Copy link
Copy Markdown

[microbenchmarks] No significant performance differences

Copy link
Copy Markdown
Contributor

@jtattermusch jtattermusch left a comment

Choose a reason for hiding this comment

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

LGTM.

source tools/internal_ci/helper_scripts/prepare_build_linux_perf_multilang_rc

# run 8core client vs 8core server
tools/run_tests/run_performance_tests.py \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actually, this is important:
looks like in the kokoro job configuration, the "driver" machine is acquired from a regular pool of workers.
Here's the problem:

  • if you have 2 jobs running at the same time (will happen for sure once you have 2 jobs - full_performance_master and full_performance_releases), they will fight over the client and server worker VMs.
  • so far that hasn't happened because we were "lucky" and didn't run the "full performance" jobs concurrently with anything.

The remedy for this is to setup a special kokoro pool, that only has 1 VM in it. Then all the jobs that want to access the same set of workers (server, client and client2) will use that pool - which will make the job runs exclusive and they will be sharing the resources correctly.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yup, a separate pool should be made for the drivers with a limit of only 1 active workers. I was considering adding a 2nd set of server/clients, but I don't think we not data being generated that frequently. We'll need a 2nd set if we decide to add the full sweep benchmark (Craig has said that it hasn't been used in months and will likely stay unused for the foreseeable future).

@jtattermusch
Copy link
Copy Markdown
Contributor

Added an important comment, please hold merging until the issue is resolved.

@matt-kwong matt-kwong merged commit 785dda8 into grpc:master Feb 3, 2018
matt-kwong added a commit that referenced this pull request Feb 3, 2018
@lock lock bot locked as resolved and limited conversation to collaborators Jan 20, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants