Skip to content

Commit 172efbb

Browse files
committed
Added AzNFS mount helper note
1 parent c40f723 commit 172efbb

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

articles/storage/blobs/network-file-system-protocol-performance-benchmark.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ This article provides benchmark testing recommendations and results for NFS 3.0
1717

1818
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:
1919

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.,
2222
1. using real-world application that is used in production.
2323

2424
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
3333

3434
| Testing method | Pros | Cons |
3535
| --------------------------------- | ---- | -----|
36-
| 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|
3939

4040
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.
4141

@@ -47,18 +47,19 @@ After selecting the virtual machine, we need to create storage account we'll use
4747

4848
## Other considerations
4949
- 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.
5152

5253
## Executing performance benchmark
5354
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).
5455

5556
Following parameters are used for testing:
5657

57-
|Workload | Metric | Block size | Number of threads | IO depth | File size | nconnect | Direct IO |
58-
| ---------- | --------- | ---------- | ----------------- | -------- | --------- | ---------| --------- |
59-
| Sequential | Bandwidth |1 MiB | 8 | 1024 | 10 GiB | 16 | Yes |
60-
| Sequential | IOPS |4 KiB | 8 | 1024 | 10 GiB | 16 | Yes |
61-
| Random | IOPS |4 KiB | 8 | 1024 | 10 GiB | 16 | Yes |
58+
|Workload | Metric | Block size | Threads | IO depth | File size | nconnect | Direct IO |
59+
| ---------- | --------- | ---------- | --------| -------- | --------- | ---------| --------- |
60+
| Sequential | Bandwidth |1 MiB | 8 | 1024 | 10 GiB | 16 | Yes |
61+
| Sequential | IOPS |4 KiB | 8 | 1024 | 10 GiB | 16 | Yes |
62+
| Random | IOPS |4 KiB | 8 | 1024 | 10 GiB | 16 | Yes |
6263

6364
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).
6465

0 commit comments

Comments
 (0)