From 43e5b1d1648f93c5a8e1866713ce52134fb212b6 Mon Sep 17 00:00:00 2001 From: Mike Harder Date: Fri, 6 Jan 2023 18:04:14 -0800 Subject: [PATCH 1/5] Add perf-tests.yml --- sdk/storage/storage-blob/perf-tests.yml | 57 +++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 sdk/storage/storage-blob/perf-tests.yml diff --git a/sdk/storage/storage-blob/perf-tests.yml b/sdk/storage/storage-blob/perf-tests.yml new file mode 100644 index 000000000000..3e0b0a3f24ad --- /dev/null +++ b/sdk/storage/storage-blob/perf-tests.yml @@ -0,0 +1,57 @@ +Service: storage-blob + +Project: sdk/storage/perf-tests/storage-blob + +PrimaryPackage: '@azure/storage-blob' + +PackageVersions: +- '@azure/storage-blob': 12.12.0 + '@azure/core-auth': 1.4.0 + '@azure/core-http': 2.3.1 + '@azure/core-lro': 2.4.0 + '@azure/core-paging': 1.4.0 + '@azure/core-rest-pipeline': 1.10.0 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.1.1 + '@azure/abort-controller': 1.1.0 + '@azure/logger': 1.0.3 +- '@azure/storage-blob': source + '@azure/core-auth': source + '@azure/core-http': source + '@azure/core-lro': source + '@azure/core-paging': source + '@azure/core-rest-pipeline': source + '@azure/core-tracing': source + '@azure/core-util': source + '@azure/abort-controller': source + '@azure/logger': source + +Tests: +- Test: download + Class: StorageBlobDownloadTest + Arguments: + # TODO: Remove before merging + - --size 1 --warmup 0 --duration 1 + - --size 10240 --parallel 64 + - --size 10485760 --parallel 32 + - --size 1073741824 --parallel 1 --warmup 60 --duration 60 + - --size 1073741824 --parallel 8 --warmup 60 --duration 60 + +- Test: upload + Class: StorageBlobUploadTest + Arguments: + # TODO: Remove before merging + - --size 1 --warmup 0 --duration 1 + - --size 10240 --parallel 64 + - --size 10485760 --parallel 32 + - --size 1073741824 --parallel 1 --warmup 60 --duration 60 + - --size 1073741824 --parallel 8 --warmup 60 --duration 60 + +- Test: list-blobs + Class: StorageBlobListTest + Arguments: + # TODO: Remove before merging + - --count 1 --warmup 0 --duration 1 + - --count 5 --parallel 64 + - --count 500 --parallel 32 + - --count 50000 --parallel 32 --warmup 60 --duration 60 From af37d2fc504981057dcb5905fa1d97cd9f736438 Mon Sep 17 00:00:00 2001 From: Mike Harder Date: Tue, 24 Jan 2023 00:04:52 -0800 Subject: [PATCH 2/5] Remove "Services" parameter --- sdk/storage/storage-blob/perf.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk/storage/storage-blob/perf.yml b/sdk/storage/storage-blob/perf.yml index 60375bb44636..ec7847db5692 100644 --- a/sdk/storage/storage-blob/perf.yml +++ b/sdk/storage/storage-blob/perf.yml @@ -31,7 +31,6 @@ extends: parameters: OperatingSystems: ${{ parameters.OperatingSystems }} ServiceDirectory: storage/storage-blob - Services: "^storage-blob$" PackageVersions: ${{ parameters.PackageVersions }} Tests: ${{ parameters.Tests }} Arguments: ${{ parameters.Arguments }} From 5288cb3d64393a112877f5b70e6cee70791864de Mon Sep 17 00:00:00 2001 From: Mike Harder Date: Tue, 31 Jan 2023 15:07:16 -0800 Subject: [PATCH 3/5] Add LanguageVersion parameter --- eng/pipelines/templates/jobs/perf.yml | 6 +++++- sdk/storage/storage-blob/perf.yml | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/eng/pipelines/templates/jobs/perf.yml b/eng/pipelines/templates/jobs/perf.yml index f3e04360fa16..5df95ddec7d7 100644 --- a/eng/pipelines/templates/jobs/perf.yml +++ b/eng/pipelines/templates/jobs/perf.yml @@ -2,6 +2,9 @@ parameters: - name: OperatingSystems type: string default: 'Linux' +- name: LanguageVersion + type: string + default: '18' - name: ServiceDirectory type: string default: '' @@ -34,10 +37,11 @@ extends: - template: /eng/pipelines/templates/variables/globals.yml OperatingSystems: ${{ parameters.OperatingSystems }} Language: JS + LanguageVersion: ${{ parameters.LanguageVersion }} InstallLanguageSteps: - template: /eng/pipelines/templates/steps/use-node-version.yml parameters: - NodeVersion: 18.x + NodeVersion: ${{ parameters.LanguageVersion }}.x ServiceDirectory: ${{ parameters.ServiceDirectory }} Services: ${{ parameters.Services }} PackageVersions: ${{ parameters.PackageVersions }} diff --git a/sdk/storage/storage-blob/perf.yml b/sdk/storage/storage-blob/perf.yml index ec7847db5692..10468821d6a4 100644 --- a/sdk/storage/storage-blob/perf.yml +++ b/sdk/storage/storage-blob/perf.yml @@ -5,6 +5,9 @@ parameters: # Hang in storage-blob 1GB parallel=8 upload perf tests on Windows (#22146) # default: 'Linux, Windows' default: 'Linux' +- name: LanguageVersion + type: string + default: '18' - name: PackageVersions displayName: PackageVersions (regex of package versions to run) type: string @@ -31,6 +34,7 @@ extends: parameters: OperatingSystems: ${{ parameters.OperatingSystems }} ServiceDirectory: storage/storage-blob + LanguageVersion: ${{ parameters.LanguageVersion }} PackageVersions: ${{ parameters.PackageVersions }} Tests: ${{ parameters.Tests }} Arguments: ${{ parameters.Arguments }} From 3b7fd777a18bc6f27eae994a4525a181aca162e3 Mon Sep 17 00:00:00 2001 From: Mike Harder Date: Tue, 7 Feb 2023 19:54:37 -0800 Subject: [PATCH 4/5] Update perf.yml, add perf-tests.yml --- eng/pipelines/templates/jobs/perf.yml | 4 -- sdk/eventhub/event-hubs/perf-tests.yml | 36 ++++++++++ sdk/eventhub/event-hubs/perf.yml | 6 +- sdk/keyvault/keyvault-secrets/perf-tests.yml | 21 ++++++ sdk/servicebus/service-bus/perf-tests.yml | 47 +++++++++++++ sdk/servicebus/service-bus/perf.yml | 67 ++++++++++--------- .../storage-file-datalake/perf-tests.yml | 42 ++++++++++++ sdk/storage/storage-file-datalake/perf.yml | 5 +- sdk/storage/storage-file-share/perf-tests.yml | 38 +++++++++++ sdk/storage/storage-file-share/perf.yml | 5 +- 10 files changed, 232 insertions(+), 39 deletions(-) create mode 100644 sdk/eventhub/event-hubs/perf-tests.yml create mode 100644 sdk/keyvault/keyvault-secrets/perf-tests.yml create mode 100644 sdk/servicebus/service-bus/perf-tests.yml create mode 100644 sdk/storage/storage-file-datalake/perf-tests.yml create mode 100644 sdk/storage/storage-file-share/perf-tests.yml diff --git a/eng/pipelines/templates/jobs/perf.yml b/eng/pipelines/templates/jobs/perf.yml index 5df95ddec7d7..3c44dbd4f00a 100644 --- a/eng/pipelines/templates/jobs/perf.yml +++ b/eng/pipelines/templates/jobs/perf.yml @@ -8,9 +8,6 @@ parameters: - name: ServiceDirectory type: string default: '' -- name: Services - type: string - default: '' - name: PackageVersions type: string default: '.*' @@ -43,7 +40,6 @@ extends: parameters: NodeVersion: ${{ parameters.LanguageVersion }}.x ServiceDirectory: ${{ parameters.ServiceDirectory }} - Services: ${{ parameters.Services }} PackageVersions: ${{ parameters.PackageVersions }} Tests: ${{ parameters.Tests }} Arguments: ${{ parameters.Arguments }} diff --git a/sdk/eventhub/event-hubs/perf-tests.yml b/sdk/eventhub/event-hubs/perf-tests.yml new file mode 100644 index 000000000000..d0c34fe68339 --- /dev/null +++ b/sdk/eventhub/event-hubs/perf-tests.yml @@ -0,0 +1,36 @@ +Service: eventhubs + +Project: sdk/eventhub/perf-tests/event-hubs + +PrimaryPackage: '@azure/event-hubs' + +PackageVersions: +- '@azure/event-hubs': 5.8.0 + '@azure/core-amqp': 3.2.0 + '@azure/core-auth': 1.4.0 + '@azure/core-http': 2.3.1 + '@azure/core-rest-pipeline': 1.10.0 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.1.1 + '@azure/abort-controller': 1.1.0 + '@azure/logger': 1.0.3 +- '@azure/event-hubs': source + '@azure/core-amqp': source + '@azure/core-auth': source + '@azure/core-http': source + '@azure/core-rest-pipeline': source + '@azure/core-tracing': source + '@azure/core-util': source + '@azure/abort-controller': source + '@azure/logger': source + +Tests: +- Test: send + Class: SendTest + Arguments: + - --event-size 1024 --batch-size 100 --parallel 64 + +- Test: subscribe + Class: SubscribeTest + Arguments: + - --event-size 1024 --max-batch-size 100 --events 1000000 diff --git a/sdk/eventhub/event-hubs/perf.yml b/sdk/eventhub/event-hubs/perf.yml index 517147f5118a..0d253725c7a4 100644 --- a/sdk/eventhub/event-hubs/perf.yml +++ b/sdk/eventhub/event-hubs/perf.yml @@ -3,6 +3,9 @@ parameters: displayName: OperatingSystems (list of operating systems to run) type: string default: 'Linux' +- name: LanguageVersion + type: string + default: '18' - name: PackageVersions displayName: PackageVersions (regex of package versions to run) type: string @@ -27,8 +30,9 @@ parameters: extends: template: /eng/pipelines/templates/jobs/perf.yml parameters: + OperatingSystems: ${{ parameters.OperatingSystems }} ServiceDirectory: eventhub/event-hubs - Services: "^(eventhubs)$" + LanguageVersion: ${{ parameters.LanguageVersion }} PackageVersions: ${{ parameters.PackageVersions }} Tests: ${{ parameters.Tests }} Arguments: ${{ parameters.Arguments }} diff --git a/sdk/keyvault/keyvault-secrets/perf-tests.yml b/sdk/keyvault/keyvault-secrets/perf-tests.yml new file mode 100644 index 000000000000..ca6b0ebfbe84 --- /dev/null +++ b/sdk/keyvault/keyvault-secrets/perf-tests.yml @@ -0,0 +1,21 @@ +Service: keyvault-secrets + +Project: sdk/keyvault/perf-tests/keyvault-secrets + +PrimaryPackage: '@azure/storage-file-datalake' + +PackageVersions: +- '@azure/keyvault-secrets': 4.3.0 +- '@azure/keyvault-secrets': source + +Tests: +- Test: get-secret + Class: GetSecretTest + Arguments: + - --parallel 64 + +- Test: list-secrets + Class: ListSecretsTest + Arguments: + - --count 5 --parallel 64 + - --count 500 --parallel 32 diff --git a/sdk/servicebus/service-bus/perf-tests.yml b/sdk/servicebus/service-bus/perf-tests.yml new file mode 100644 index 000000000000..bcf864e99e5f --- /dev/null +++ b/sdk/servicebus/service-bus/perf-tests.yml @@ -0,0 +1,47 @@ +Service: servicebus + +Project: sdk/servicebus/perf-tests/service-bus + +PrimaryPackage: '@azure/service-bus' + +PackageVersions: +- '@azure/service-bus': 7.7.3 + '@azure/core-amqp': 3.2.1 + '@azure/core-auth': 1.4.0 + '@azure/core-client': 1.6.1 + '@azure/core-http': 2.3.1 + '@azure/core-paging': 1.4.0 + '@azure/core-rest-pipeline': 1.10.0 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.1.1 + '@azure/core-xml': 1.3.0 + '@azure/abort-controller': 1.1.0 + '@azure/logger': 1.0.3 +- '@azure/service-bus': source + '@azure/core-amqp': source + '@azure/core-auth': source + '@azure/core-client': source + '@azure/core-http': source + '@azure/core-paging': source + '@azure/core-rest-pipeline': source + '@azure/core-tracing': source + '@azure/core-util': source + '@azure/core-xml': source + '@azure/abort-controller': source + '@azure/logger': source + +Tests: +- Test: send-event-batch + Class: BatchSendTest + Arguments: + - --size 10240 --batch-size 10 + +- Test: subscribe + Class: SubscribeTest + Arguments: + - --message-size 2000 --messages 10000 --mcc 1000 + +- Test: receive-batch + Class: BatchReceiveTest + Arguments: + - --number-of-messages 10000 --message-size 2000 --max-message-count 50 diff --git a/sdk/servicebus/service-bus/perf.yml b/sdk/servicebus/service-bus/perf.yml index 4c46e8b5a89b..30c276f52823 100644 --- a/sdk/servicebus/service-bus/perf.yml +++ b/sdk/servicebus/service-bus/perf.yml @@ -1,37 +1,40 @@ parameters: - - name: operatingSystems - displayName: OperatingSystems (list of operating systems to run) - type: string - default: 'Linux' - - name: packageVersions - displayName: PackageVersions (regex of package versions to run) - type: string - default: '7|source' - - name: tests - displayName: Tests (regex of tests to run) - type: string - default: '^(send-event-batch|subscribe|receive-batch)$' - - name: arguments - displayName: Arguments (regex of arguments to run) - type: string - default: '.*' - - name: iterations - displayName: Iterations (times to run each test) - type: number - default: '5' - - name: additionalArguments - displayName: AdditionalArguments (passed to PerfAutomation) - type: string - default: ' ' +- name: OperatingSystems + displayName: OperatingSystems (list of operating systems to run) + type: string + default: 'Linux' +- name: LanguageVersion + type: string + default: '18' +- name: PackageVersions + displayName: PackageVersions (regex of package versions to run) + type: string + default: '7|source' +- name: Tests + displayName: Tests (regex of tests to run) + type: string + default: '^(send-event-batch|subscribe|receive-batch)$' +- name: Arguments + displayName: Arguments (regex of arguments to run) + type: string + default: '.*' +- name: Iterations + displayName: Iterations (times to run each test) + type: number + default: '5' +- name: AdditionalArguments + displayName: AdditionalArguments (passed to PerfAutomation) + type: string + default: ' ' extends: template: /eng/pipelines/templates/jobs/perf.yml parameters: - operatingSystems: ${{ parameters.operatingSystems }} - serviceDirectory: servicebus/service-bus - services: "^servicebus$" - packageVersions: ${{ parameters.packageVersions }} - tests: ${{ parameters.tests }} - arguments: ${{ parameters.arguments }} - iterations: ${{ parameters.iterations }} - additionalArguments: ${{ parameters.additionalArguments }} + OperatingSystems: ${{ parameters.operatingSystems }} + ServiceDirectory: servicebus/service-bus + LanguageVersion: ${{ parameters.LanguageVersion }} + PackageVersions: ${{ parameters.packageVersions }} + Tests: ${{ parameters.tests }} + Arguments: ${{ parameters.arguments }} + Iterations: ${{ parameters.iterations }} + AdditionalArguments: ${{ parameters.additionalArguments }} diff --git a/sdk/storage/storage-file-datalake/perf-tests.yml b/sdk/storage/storage-file-datalake/perf-tests.yml new file mode 100644 index 000000000000..7e5fd165772e --- /dev/null +++ b/sdk/storage/storage-file-datalake/perf-tests.yml @@ -0,0 +1,42 @@ +Service: storage-file-datalake + +Project: sdk/storage/perf-tests/storage-file-datalake + +PrimaryPackage: '@azure/storage-file-datalake' + +PackageVersions: +- '@azure/storage-file-datalake': 12.11.0 + '@azure/storage-blob': 12.12.0 + '@azure/core-auth': 1.4.0 + '@azure/core-http': 2.3.1 + '@azure/core-lro': 2.4.0 + '@azure/core-paging': 1.3.0 + '@azure/core-rest-pipeline': 1.10.0 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.1.1 + '@azure/abort-controller': 1.1.0 + '@azure/logger': 1.0.3 +- '@azure/storage-file-datalake': source + '@azure/storage-blob': source + '@azure/core-auth': source + '@azure/core-http': source + '@azure/core-lro': source + '@azure/core-paging': source + '@azure/core-rest-pipeline': source + '@azure/core-tracing': source + '@azure/core-util': source + '@azure/abort-controller': source + '@azure/logger': source + +Tests: +- Test: download + Class: StorageDFSReadTest + Arguments: &sizes + - --size 10240 --parallel 64 + - --size 10485760 --parallel 32 + - --size 1073741824 --parallel 1 --warmup 60 --duration 60 + - --size 1073741824 --parallel 8 --warmup 60 --duration 60 + +- Test: upload + Class: StorageDFSUploadTest + Arguments: *sizes diff --git a/sdk/storage/storage-file-datalake/perf.yml b/sdk/storage/storage-file-datalake/perf.yml index 211c5ed52bcc..462b1da0e9d4 100644 --- a/sdk/storage/storage-file-datalake/perf.yml +++ b/sdk/storage/storage-file-datalake/perf.yml @@ -3,6 +3,9 @@ parameters: displayName: OperatingSystems (list of operating systems to run) type: string default: 'Linux, Windows' +- name: LanguageVersion + type: string + default: '18' - name: PackageVersions displayName: PackageVersions (regex of package versions to run) type: string @@ -29,7 +32,7 @@ extends: parameters: OperatingSystems: ${{ parameters.OperatingSystems }} ServiceDirectory: storage/storage-file-datalake - Services: "^storage-file-datalake$" + LanguageVersion: ${{ parameters.LanguageVersion }} PackageVersions: ${{ parameters.PackageVersions }} Tests: ${{ parameters.Tests }} Arguments: ${{ parameters.Arguments }} diff --git a/sdk/storage/storage-file-share/perf-tests.yml b/sdk/storage/storage-file-share/perf-tests.yml new file mode 100644 index 000000000000..5e7a75351486 --- /dev/null +++ b/sdk/storage/storage-file-share/perf-tests.yml @@ -0,0 +1,38 @@ +Service: storage-file-share + +Project: sdk/storage/perf-tests/storage-file-share + +PrimaryPackage: '@azure/storage-file-share' + +PackageVersions: +- '@azure/storage-file-share': 12.12.0 + '@azure/core-auth': 1.4.0 + '@azure/core-http': 2.3.1 + '@azure/core-paging': 1.4.0 + '@azure/core-rest-pipeline': 1.10.0 + '@azure/core-tracing': 1.0.1 + '@azure/core-util': 1.1.1 + '@azure/abort-controller': 1.1.0 + '@azure/logger': 1.0.3 +- '@azure/storage-file-share': source + '@azure/core-auth': source + '@azure/core-http': source + '@azure/core-paging': source + '@azure/core-rest-pipeline': source + '@azure/core-tracing': source + '@azure/core-util': source + '@azure/abort-controller': source + '@azure/logger': source + +Tests: +- Test: download + Class: StorageFileShareDownloadTest + Arguments: &sizes + - --size 10240 --parallel 64 + - --size 10485760 --parallel 32 + - --size 1073741824 --parallel 1 --warmup 60 --duration 60 + - --size 1073741824 --parallel 8 --warmup 60 --duration 60 + +- Test: upload + Class: StorageFileShareUploadTest + Arguments: *sizes diff --git a/sdk/storage/storage-file-share/perf.yml b/sdk/storage/storage-file-share/perf.yml index 2bee623b48b6..1a31c82d0823 100644 --- a/sdk/storage/storage-file-share/perf.yml +++ b/sdk/storage/storage-file-share/perf.yml @@ -3,6 +3,9 @@ parameters: displayName: OperatingSystems (list of operating systems to run) type: string default: 'Linux, Windows' +- name: LanguageVersion + type: string + default: '18' - name: PackageVersions displayName: PackageVersions (regex of package versions to run) type: string @@ -31,7 +34,7 @@ extends: parameters: OperatingSystems: ${{ parameters.OperatingSystems }} ServiceDirectory: storage/storage-file-share - Services: "^storage-file-share$" + LanguageVersion: ${{ parameters.LanguageVersion }} PackageVersions: ${{ parameters.PackageVersions }} Tests: ${{ parameters.Tests }} Arguments: ${{ parameters.Arguments }} From 20a05a926c807fdc600940b40d2a7c1a3724eeb3 Mon Sep 17 00:00:00 2001 From: Mike Harder Date: Thu, 9 Feb 2023 14:17:33 -0800 Subject: [PATCH 5/5] Add displayName to LanguageVersion --- sdk/eventhub/event-hubs/perf.yml | 1 + sdk/servicebus/service-bus/perf.yml | 1 + sdk/storage/storage-blob/perf.yml | 1 + sdk/storage/storage-file-datalake/perf.yml | 1 + sdk/storage/storage-file-share/perf.yml | 1 + 5 files changed, 5 insertions(+) diff --git a/sdk/eventhub/event-hubs/perf.yml b/sdk/eventhub/event-hubs/perf.yml index 0d253725c7a4..a81e856931f4 100644 --- a/sdk/eventhub/event-hubs/perf.yml +++ b/sdk/eventhub/event-hubs/perf.yml @@ -4,6 +4,7 @@ parameters: type: string default: 'Linux' - name: LanguageVersion + displayName: LanguageVersion (14, 16, 18) type: string default: '18' - name: PackageVersions diff --git a/sdk/servicebus/service-bus/perf.yml b/sdk/servicebus/service-bus/perf.yml index 30c276f52823..d0cd68df9236 100644 --- a/sdk/servicebus/service-bus/perf.yml +++ b/sdk/servicebus/service-bus/perf.yml @@ -4,6 +4,7 @@ parameters: type: string default: 'Linux' - name: LanguageVersion + displayName: LanguageVersion (14, 16, 18) type: string default: '18' - name: PackageVersions diff --git a/sdk/storage/storage-blob/perf.yml b/sdk/storage/storage-blob/perf.yml index 10468821d6a4..40bdde147203 100644 --- a/sdk/storage/storage-blob/perf.yml +++ b/sdk/storage/storage-blob/perf.yml @@ -6,6 +6,7 @@ parameters: # default: 'Linux, Windows' default: 'Linux' - name: LanguageVersion + displayName: LanguageVersion (14, 16, 18) type: string default: '18' - name: PackageVersions diff --git a/sdk/storage/storage-file-datalake/perf.yml b/sdk/storage/storage-file-datalake/perf.yml index 462b1da0e9d4..17a23019da7c 100644 --- a/sdk/storage/storage-file-datalake/perf.yml +++ b/sdk/storage/storage-file-datalake/perf.yml @@ -4,6 +4,7 @@ parameters: type: string default: 'Linux, Windows' - name: LanguageVersion + displayName: LanguageVersion (14, 16, 18) type: string default: '18' - name: PackageVersions diff --git a/sdk/storage/storage-file-share/perf.yml b/sdk/storage/storage-file-share/perf.yml index 1a31c82d0823..9a7ccb2fa9c8 100644 --- a/sdk/storage/storage-file-share/perf.yml +++ b/sdk/storage/storage-file-share/perf.yml @@ -4,6 +4,7 @@ parameters: type: string default: 'Linux, Windows' - name: LanguageVersion + displayName: LanguageVersion (14, 16, 18) type: string default: '18' - name: PackageVersions