Skip to content

Commit

Permalink
support configurable slowstart algorithm in performance testing
Browse files Browse the repository at this point in the history
  • Loading branch information
parvit committed Apr 17, 2024
1 parent 63ac7f8 commit cb74bb4
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 4 deletions.
9 changes: 8 additions & 1 deletion .github/workflows/common-performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ on:
type: string
default: 'reno'
required: false
slowstart:
description: 'CC Slowstart algorithm to use (if supported by the backend)'
type: string
default: 'basic'
required: false
ignore_caches:
description: 'resets caches to force new build'
type: boolean
Expand Down Expand Up @@ -132,6 +137,7 @@ jobs:
$config = $config.replace('<QPEP_ADDRESS>','${{ inputs.client_listen_address }}')
$config = $config.replace('<QPEP_BACKEND>','${{ inputs.backend }}')
$config = $config.replace('<QPEP_CCA>','${{ inputs.cca }}')
$config = $config.replace('<QPEP_SLOWSTART>','${{ inputs.slowstart }}')
$config > ./build/config/qpep.yml
write-host $config
Copy-Item "./windivert/x64/*" -Destination "./build"
Expand Down Expand Up @@ -174,7 +180,7 @@ jobs:
strategy:
max-parallel: 1
matrix:
download_size: [ 5, 10 ]
download_size: [ 10 ]
connections_number: [ 1, 4 ]
env:
REMOTE_GATEWAY: ${{ inputs.server_public_address }}
Expand Down Expand Up @@ -287,6 +293,7 @@ jobs:
QPEP_REV: HEAD
QPEP_BACKEND: ${{ inputs.backend }}
QPEP_CCA: ${{ inputs.cca }}
QPEP_SLOWSTART: ${{ inputs.slowstart }}
steps:
- name: Pre-Cleanup
run: |
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,17 @@ jobs:
max-parallel: 1
matrix:
backend: [ 'quic-go', 'quicly-go' ]
cca: [ 'reno', 'search' ]
connection_delay_ms: [ 0, 500 ]
cca: [ 'reno' ]
slowstart: [ 'search' ]
connection_delay_ms: [ 0 ]
# cca: [ 'reno', 'cubic' ]
# slowstart: [ 'search', 'basic' ]
# connection_delay_ms: [ 0, 500 ]
exclude:
- backend: 'quic-go'
cca: 'search'
slowstart: 'search'
- backend: 'quic-go'
cca: 'cubic'
uses: './.github/workflows/common-performance.yml'
with:
server_public_address: ${{ inputs.server_public_address }}
Expand All @@ -103,4 +109,5 @@ jobs:
ignore_caches: ${{ inputs.ignore_caches }}
backend: ${{ matrix.backend }}
cca: ${{ matrix.cca }}
slowstart: ${{ matrix.slowstart }}
secrets: inherit
1 change: 1 addition & 0 deletions docker/client-env/qpep.yml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ listenport: 9443
# backend
backend: <QPEP_BACKEND>
ccalgorithm: <QPEP_CCA>
ccslowstart: <QPEP_SLOWSTART>

# certificate
certificate: server_cert.pem
Expand Down
1 change: 1 addition & 0 deletions docker/server-env/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ services:
environment:
- QPEP_BACKEND=${QPEP_BACKEND}
- QPEP_CCA=${QPEP_CCA}
- QPEP_SLOWSTART=${QPEP_SLOWSTART}
build:
context: server/
args:
Expand Down
1 change: 1 addition & 0 deletions docker/server-env/server/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ ENV GOPATH "/opt/gopath"
ENV BUILDKIT_PROGRESS "plain"
ENV QPEP_BACKEND="quic-go"
ENV QPEP_CCA="reno"
ENV QPEP_SLOWSTART="basic"

ARG GO_VERSION="1.20.14"
ARG QPEP_REPO="https://github.com/Project-Faster/qpep.git"
Expand Down
1 change: 1 addition & 0 deletions docker/server-env/server/config/qpep.yml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ listenport: 1443
# backend
backend: ${QPEP_BACKEND}
ccalgorithm: ${QPEP_CCA}
ccslowstart: ${QPEP_SLOWSTART}

# certificate
certificate: server_cert.pem
Expand Down

0 comments on commit cb74bb4

Please sign in to comment.