You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/storage/blobs/network-file-system-protocol-performance-benchmark.md
+12-11Lines changed: 12 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,8 +17,8 @@ This article provides benchmark testing recommendations and results for NFS 3.0
17
17
18
18
Storage performance testing is done to evaluate and compare different storage services. There are many ways to perform it, but three most common ones are:
19
19
20
-
1. using standard Linux commands, typically cp or dd
21
-
1. using performance benchmark tools like fio, vdbench, ior, etc.
20
+
1. using standard Linux commands, typically cp or dd,
21
+
1. using performance benchmark tools like fio, vdbench, ior, etc.,
22
22
1. using real-world application that is used in production.
23
23
24
24
No matter which method is used, it's always important to understand other potential bottlenecks in the environment, and make sure they aren't affecting the results. As an example, when measuring write performance, we need to make sure that source disk can read data as fast as the expected write performance. Ideally, in these tests we can use a RAM disk. Same applies for network throughput, CPU utilization, etc.
@@ -33,9 +33,9 @@ No matter which method is used, it's always important to understand other potent
|Using standard linux commands | - Simple <br> - Available on any linux platform <br> - Familiarity with the tools | - Not designed for performance testing <br> - Not flexible <br> - Often CPU bound |
37
-
|Using performance benchmark tools | - Optimized for performance testing <br> - Very configurable <br> - Simple multi node testing | - Complex to set up a real-world test |
38
-
|Using real-world application | - Provides best insight on application behavior | - Interferes with end-users <br> - requires replica of the production environment |
36
+
|Standard linux commands | - Simple <br> - Available on any linux platform <br> - Familiarity with the tools | - Not designed for performance testing <br> - Not configurable <br> - Often CPU core bound |
37
+
|Performance benchmark tools | - Optimized for performance testing <br> - Very configurable <br> - Simple multi node testing | - Complex to set up a real-world test |
38
+
|Real-world application | - Provides accurate end-user experience | - Often end-users run tests <br> - Requires replica of the production environment <br> - Can be subjective|
39
39
40
40
Even though using real-world applications for performance testing is the best option, due to simplicity of testing setup, the most common method is using performance benchmarking tools. We show the recommended setup for running performance tests on Azure Blob Storage with NFS 3.0.
41
41
@@ -47,18 +47,19 @@ After selecting the virtual machine, we need to create storage account we'll use
47
47
48
48
## Other considerations
49
49
- Virtual machine and storage account with the NFS 3.0 endpoint must be in the same region,
50
-
- Virtual machine running the test applications should be used only for testing to make sure other running services aren't impacting the results.
50
+
- Virtual machine running the test applications should be used only for testing to make sure other running services aren't impacting the results,
51
+
- Mounting NFS 3.0 endpoint must use [AzNFS mount helper](./network-file-system-protocol-support-how-to.md) client for reliable access.
51
52
52
53
## Executing performance benchmark
53
54
There are several performance benchmarking tools available to use on Linux environments. Any of them can be used to evaluate performance, we share our recommended approach with FIO (Flexible I/O tester). FIO is available through standard package managers for each linux distribution or as an [source code](https://github.com/axboe/fio). It can be used in many test scenarios. This article describes the recommended scenarios for Azure Storage. For further customization and different parameters, consult [FIO documentation](https://fio.readthedocs.io/en/latest/index.html).
54
55
55
56
Following parameters are used for testing:
56
57
57
-
|Workload | Metric | Block size |Number of threads| IO depth | File size | nconnect | Direct IO |
Our testing setup was done in US East region with client virtual machine type [D32ds_v5](/azure/virtual-machines/ddv5-ddsv5-series#ddsv5-series) and file size of 10 GB. All tests were run 100 times and results show the average value. Tests were done on Standard and Premium storage accounts. Read more on the differences between the two types of storage accounts [here](../common/storage-account-overview.md).
0 commit comments