Skip to content

Commit 255e62d

Browse files
[Storage][DataMovement] Updated perf test readme, remove perf from base sln (Azure#47129)
1 parent 5ff47b2 commit 255e62d

File tree

3 files changed

+27
-12
lines changed

3 files changed

+27
-12
lines changed

sdk/storage/Azure.Storage.DataMovement.Blobs/perf-tests.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
Service: storage-datamovement-blob
22

33
Project: sdk/storage/Azure.Storage.DataMovement.Blobs/perf/Azure.Storage.DataMovement.Blobs.Perf/Azure.Storage.DataMovement.Blobs.Perf.csproj
4+
# For Track1, comment above line, uncomment next line
5+
# Project: sdk/storage/Azure.Storage.DataMovement.Blobs/perf/Microsoft.Azure.Storage.DataMovement.Perf/Microsoft.Azure.Storage.DataMovement.Perf.csproj
46

57
PackageVersions:
68
- Azure.Storage.DataMovement.Blobs: source
9+
# For Track1, comment above line, uncomment next line
10+
# - Microsoft.Azure.Storage.DataMovement: 2.0.5
711

812
Tests:
913
- Test: download

sdk/storage/Azure.Storage.DataMovement.Blobs/perf/README.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,39 @@
33
The assets in this area comprise a set of performance tests for the [Azure Storage Blobs Data Movement library for .NET](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/storage/Azure.Storage.DataMovement.Blobs) and its associated ecosystem. The artifacts in this library are intended to be used primarily with the Azure SDK engineering system's testing infrastructure, but may also be run as stand-alone applications from the command line.
44

55
## Running tests locally
6-
First, build the project either via Visual Studio or the command line. Be sure to build the `Release` build.
6+
There are two perf test projects:
7+
- Track2 (default): sdk\storage\Azure.Storage.DataMovement.Blobs\perf\Azure.Storage.DataMovement.Blobs.Perf\Azure.Storage.DataMovement.Blobs.Perf.csproj
8+
- Track1: sdk\storage\Azure.Storage.DataMovement.Blobs\perf\Microsoft.Azure.Storage.DataMovement.Perf\Microsoft.Azure.Storage.DataMovement.Perf.csproj
9+
10+
First, build the project either via Visual Studio or the command line. For best results, build the `Release` build but the `Debug` will also work and allow for debugging.
711
```
8-
dotnet build -c Release -f <supported-framework> sdk\storage\Azure.Storage.DataMovement.Blobs\perf\Azure.Storage.DataMovement.Blobs.Perf\Azure.Storage.DataMovement.Blobs.Perf.csproj
12+
dotnet build -c Release -f <supported-framework> <project>
913
```
1014

11-
Setup the account you want to use for testing. Note these tests use OAuth using a DefaultAzureCredential, meaning you will need
12-
tot he Storage account as well as a way to authenticate (Visual Studio, Azure CLI, etc.)
15+
Setup the account you want to use for testing. Note Track2 tests use OAuth using a DefaultAzureCredential, meaning you will need permission to the Storage account as well as a way to authenticate (Visual Studio, Azure CLI, etc.)
1316
```
1417
set AZURE_STORAGE_ACCOUNT_NAME=<account-name>
18+
# Only needed for Track1 tests
19+
set AZURE_STORAGE_ACCOUNT_KEY=<account-key>
1520
```
1621

1722
Then run the desired test via the command line.
1823
```
19-
dotnet run -c Release -f <supported-framework> --no-build --project sdk\storage\Azure.Storage.DataMovement.Blobs\perf\Azure.Storage.DataMovement.Blobs.Perf\Azure.Storage.DataMovement.Blobs.Perf.csproj -- <test-name> <test-options>
24+
dotnet run -c Release -f <supported-framework> --no-build --project sdk\storage\Azure.Storage.DataMovement.Blobs\perf\Azure.Storage.DataMovement.Blobs.Perf\Azure.Storage.DataMovement.Blobs.Perf.csproj -- (UploadDirectory|DownloadDirectory|CopyDirectory) <test-options>
2025
```
26+
27+
Current test options (non-exahustive list):
28+
- `-c`, `--count`: The number of files in each transfer (default: 10)
29+
- `-s`, `--size`: The size of each file (default: 1024)
30+
- `-d`, `--duration`: The duration of the test (default: 10)
31+
- `--councurrency`: The concurrency limit for Data Movement
32+
- `--initial-transfer-size`: The initial transfer size of the transfer (Track2 only)
33+
- `--chunk-size`: The chunk size to use during the transfer
34+
- `--disable-checkpointer`: Disable the checkpointer (Track2 only)
35+
- `--help`: See full list of options for that particular test
36+
37+
### Running in Visual Studio
38+
You can also run these tests directly through Visual Studio which can be helpful for debugging or profiling. You just need to setup the run profile for either project to include the command line arguments `(UploadDirectory|DownloadDirectory|CopyDirectory) <test-options>` and the enviorment variables.
2139

2240
## Contributing
2341

sdk/storage/Azure.Storage.sln

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.Storage.DataMovement.
159159
EndProject
160160
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.ResourceManager.Storage", "Azure.ResourceManager.Storage\src\Azure.ResourceManager.Storage.csproj", "{6EA8939A-537F-475E-B16C-F9E80825C6AD}"
161161
EndProject
162-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.Storage.DataMovement.Blobs.Perf", "Azure.Storage.DataMovement.Blobs\perf\Azure.Storage.DataMovement.Blobs.Perf\Azure.Storage.DataMovement.Blobs.Perf.csproj", "{45EF1203-EAFF-4BB7-97F1-58DA0C310D97}"
163-
EndProject
164162
Global
165163
GlobalSection(SolutionConfigurationPlatforms) = preSolution
166164
Debug|Any CPU = Debug|Any CPU
@@ -347,10 +345,6 @@ Global
347345
{6EA8939A-537F-475E-B16C-F9E80825C6AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
348346
{6EA8939A-537F-475E-B16C-F9E80825C6AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
349347
{6EA8939A-537F-475E-B16C-F9E80825C6AD}.Release|Any CPU.Build.0 = Release|Any CPU
350-
{45EF1203-EAFF-4BB7-97F1-58DA0C310D97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
351-
{45EF1203-EAFF-4BB7-97F1-58DA0C310D97}.Debug|Any CPU.Build.0 = Debug|Any CPU
352-
{45EF1203-EAFF-4BB7-97F1-58DA0C310D97}.Release|Any CPU.ActiveCfg = Release|Any CPU
353-
{45EF1203-EAFF-4BB7-97F1-58DA0C310D97}.Release|Any CPU.Build.0 = Release|Any CPU
354348
EndGlobalSection
355349
GlobalSection(SolutionProperties) = preSolution
356350
HideSolutionNode = FALSE
@@ -367,7 +361,6 @@ Global
367361
{CC33E052-9737-42A3-BEB5-060CA659F408} = {FBC7A205-B57A-44E7-A7CA-2E82F79A4D9C}
368362
{2FB0A438-7DCB-4748-8E95-BA495865AD1D} = {FBC7A205-B57A-44E7-A7CA-2E82F79A4D9C}
369363
{0323A01E-E360-4D22-B1F4-15FD2DB39437} = {FBC7A205-B57A-44E7-A7CA-2E82F79A4D9C}
370-
{45EF1203-EAFF-4BB7-97F1-58DA0C310D97} = {FBC7A205-B57A-44E7-A7CA-2E82F79A4D9C}
371364
EndGlobalSection
372365
GlobalSection(ExtensibilityGlobals) = postSolution
373366
SolutionGuid = {9F236F49-3FED-4E35-AF93-48BA7EB0D42A}

0 commit comments

Comments
 (0)