зеркало из https://github.com/microsoft/msquic.git
148 строки
3.7 KiB
YAML
148 строки
3.7 KiB
YAML
#
|
|
# Continuous Integration (CI)
|
|
# This pipeline builds and runs MsQuic performance RPS long run tests.
|
|
#
|
|
|
|
trigger: none
|
|
pr: none
|
|
|
|
schedules:
|
|
- cron: "0 0 * * Sun"
|
|
displayName: Weekly Perf Run
|
|
branches:
|
|
include:
|
|
- main
|
|
always: true
|
|
|
|
name: 0.$(Date:yyyy).$(Date:MM).$(DayOfMonth).$(Rev:rr).0
|
|
stages:
|
|
|
|
#
|
|
# Builds
|
|
#
|
|
|
|
- stage: build_windows
|
|
displayName: Build Windows
|
|
dependsOn: []
|
|
variables:
|
|
runCodesignValidationInjection: false
|
|
jobs:
|
|
- template: ./templates/build-config-user.yml
|
|
parameters:
|
|
image: windows-latest
|
|
platform: windows
|
|
arch: x64
|
|
tls: schannel
|
|
config: Release
|
|
extraBuildArgs: -DisableTest -DisableTools
|
|
- template: ./templates/build-config-winkernel.yml
|
|
parameters:
|
|
arch: x64
|
|
config: Release
|
|
|
|
#
|
|
# Performance Tests
|
|
#
|
|
|
|
- stage: performance_rps
|
|
displayName: RPS Performance Testing
|
|
dependsOn:
|
|
- build_windows
|
|
jobs:
|
|
- template: ./templates/run-performance.yml
|
|
parameters:
|
|
pool: MsQuic-Win-Perf
|
|
platform: windows
|
|
localTls: schannel
|
|
remoteTls: schannel
|
|
arch: x64
|
|
failOnRegression: 0
|
|
kernelMode: -Kernel -TestsFile FullRunRPS.json
|
|
extraName: 'Kernel'
|
|
testTypes: 'Remote'
|
|
timeout: 300
|
|
|
|
- stage: performance_wan
|
|
displayName: WAN Performance Testing
|
|
dependsOn:
|
|
- build_windows
|
|
jobs:
|
|
- template: ./templates/run-wanperf.yml
|
|
parameters:
|
|
jobName: wanperf_general_1
|
|
displayName: General Networks (5 Mbps)
|
|
iterations: 3
|
|
protocol: ('QUIC','TCPTLS')
|
|
bottleneckQueueRatio: (0.2,1,5)
|
|
rateMbps: 5
|
|
rttMs: (20,50,100)
|
|
randomLossDenominator: (0,1000,10000)
|
|
randomReorderDenominator: (0,1000,10000)
|
|
reorderDelayDeltaMs: (0,5,10)
|
|
timeout: 300
|
|
extraArgs: -Periodic
|
|
- template: ./templates/run-wanperf.yml
|
|
parameters:
|
|
jobName: wanperf_general_2
|
|
displayName: General Networks (10 Mbps)
|
|
iterations: 3
|
|
protocol: ('QUIC','TCPTLS')
|
|
bottleneckQueueRatio: (0.2,1,5)
|
|
rateMbps: 10
|
|
rttMs: (20,50,100)
|
|
randomLossDenominator: (0,1000,10000)
|
|
randomReorderDenominator: (0,1000,10000)
|
|
reorderDelayDeltaMs: (0,5,10)
|
|
timeout: 300
|
|
extraArgs: -Periodic
|
|
- template: ./templates/run-wanperf.yml
|
|
parameters:
|
|
jobName: wanperf_general_3
|
|
displayName: General Networks (50 Mbps)
|
|
iterations: 3
|
|
protocol: ('QUIC','TCPTLS')
|
|
bottleneckQueueRatio: (0.2,1,5)
|
|
rateMbps: 50
|
|
rttMs: (20,50,100)
|
|
randomLossDenominator: (0,1000,10000)
|
|
randomReorderDenominator: (0,1000,10000)
|
|
reorderDelayDeltaMs: (0,5,10)
|
|
timeout: 300
|
|
extraArgs: -Periodic
|
|
- template: ./templates/run-wanperf.yml
|
|
parameters:
|
|
jobName: wanperf_general_4
|
|
displayName: General Networks (100 Mbps)
|
|
iterations: 3
|
|
protocol: ('QUIC','TCPTLS')
|
|
bottleneckQueueRatio: (0.2,1,5)
|
|
rateMbps: 100
|
|
rttMs: (20,50,100)
|
|
randomLossDenominator: (0,1000,10000)
|
|
randomReorderDenominator: (0,1000,10000)
|
|
reorderDelayDeltaMs: (0,5,10)
|
|
timeout: 300
|
|
extraArgs: -Periodic
|
|
- template: ./templates/run-wanperf.yml
|
|
parameters:
|
|
jobName: wanperf_general_5
|
|
displayName: General Networks (200 Mbps)
|
|
iterations: 3
|
|
protocol: ('QUIC','TCPTLS')
|
|
bottleneckQueueRatio: (0.2,1,5)
|
|
rateMbps: 200
|
|
rttMs: (20,50,100)
|
|
randomLossDenominator: (0,1000,10000)
|
|
randomReorderDenominator: (0,1000,10000)
|
|
reorderDelayDeltaMs: (0,5,10)
|
|
timeout: 300
|
|
extraArgs: -Periodic
|
|
|
|
- stage: publish_results
|
|
displayName: Publish Results
|
|
dependsOn:
|
|
- performance_rps
|
|
- performance_wan
|
|
jobs:
|
|
- template: ./templates/post-process-periodic-performance.yml
|