Skip to content

Commit 1d831f6

Browse files
authored
Merge pull request #101180 from b-juche/live-update-01-14-2020-smb-performance-faqs
adding SMB Performance FAQs article
2 parents 9189693 + 0b00d99 commit 1d831f6

10 files changed

+123
-0
lines changed

articles/azure-netapp-files/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
href: azure-netapp-files-performance-benchmarks.md
3030
- name: Performance benchmark test recommendations for Azure NetApp Files
3131
href: azure-netapp-files-performance-metrics-volumes.md
32+
- name: FAQs about SMB performance
33+
href: azure-netapp-files-smb-performance.md
3234
- name: Cost model for Azure NetApp Files
3335
href: azure-netapp-files-cost-model.md
3436
- name: Guidelines for Azure NetApp Files network planning

articles/azure-netapp-files/azure-netapp-files-faqs.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,3 +196,4 @@ No. Azure Import/Export service does not support Azure NetApp Files currently.
196196
- [Microsoft Azure Virtual Network FAQ](https://docs.microsoft.com/azure/virtual-network/virtual-networks-faq)
197197
- [How to create an Azure support request](https://docs.microsoft.com/azure/azure-portal/supportability/how-to-create-azure-support-request)
198198
- [Azure Data Box](https://docs.microsoft.com/azure/databox-family/)
199+
- [FAQs about SMB performance for Azure NetApp Files](azure-netapp-files-smb-performance.md)
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
title: FAQs about SMB performance for Azure NetApp Files| Microsoft Docs
3+
description: Answers frequently asked questions about SMB performance for Azure NetApp Files.
4+
services: azure-netapp-files
5+
documentationcenter: ''
6+
author: b-juche
7+
manager: ''
8+
editor: ''
9+
10+
ms.assetid:
11+
ms.service: azure-netapp-files
12+
ms.workload: storage
13+
ms.tgt_pltfrm: na
14+
ms.devlang: na
15+
ms.topic: conceptual
16+
ms.date: 01/14/2020
17+
ms.author: b-juche
18+
---
19+
# FAQs about SMB performance for Azure NetApp Files
20+
21+
This article answers frequently asked questions (FAQs) about SMB performance best practices for Azure NetApp Files.
22+
23+
## Is SMB Multichannel enabled in SMB shares?
24+
25+
Yes, SMB Multichannel is enabled by default, a change put in place in early January 2020. All SMB shares pre-dating existing SMB volumes have had the feature enabled, and all newly created volumes will also have the feature enabled at time of creation.
26+
27+
Any SMB connection established before the feature enablement will need to be reset to take advantage of the SMB Multichannel functionality. To reset, you can disconnect and reconnect the SMB share.
28+
29+
## Is RSS supported?
30+
31+
Yes, Azure NetApp Files supports receive-side-scaling (RSS).
32+
33+
With SMB Multichannel enabled, an SMB3 client establishes multiple TCP connections to the Azure NetApp Files SMB server over a network interface card (NIC) that is single RSS capable.
34+
35+
## Which Windows versions support SMB Multichannel?
36+
37+
Windows has supported SMB Multichannel since Windows 2012 to enable best performance. See [Deploy SMB Multichannel](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn610980(v%3Dws.11)) and [The basics of SMB Multichannel](https://blogs.technet.microsoft.com/josebda/2012/06/28/the-basics-of-smb-multichannel-a-feature-of-windows-server-2012-and-smb-3-0/) for details.
38+
39+
40+
## Does my Azure virtual machine support RSS?
41+
42+
To see if your Azure virtual machine NICs support RSS, run the command
43+
`Get-SmbClientNetworkInterface` as follows and check the field `RSS Capable`:
44+
45+
![RSS support for Azure virtual machine](../media/azure-netapp-files/azure-netapp-files-formance-rss-support.png)
46+
47+
## Does Azure NetApp Files support SMB Direct?
48+
49+
No, Azure NetApp Files does not support SMB Direct.
50+
51+
## What is the benefit of SMB Multichannel?
52+
53+
The SMB Multichannel feature enables an SMB3 client to establish a pool of connections over a single network interface card (NIC) or multiple NICs and to use them to send requests for a single SMB session. In contrast, by design, SMB1 and SMB2 require the client to establish one connection and send all the SMB traffic for a given session over that connection. This single connection limits the overall protocol performance that can be achieved from a single client.
54+
55+
## Should I configure multiple NICs on my client for SMB?
56+
57+
No. The SMB client will match the NIC count returned by the SMB server. Each storage volume is accessible from one and only one storage endpoint. That means that only one NIC will be used for any given SMB relationship.
58+
59+
As the output of `Get-SmbClientNetworkInterace` below shows, the virtual machine has two network interfaces -- 15 and 12. As shown below under the command `Get-SmbMultichannelConnection`, even though there are two RSS-capable NICS, only interface 12 is used in connection with the SMB share; interface 15 is not in use.
60+
61+
![RSS-capable NICS](../media/azure-netapp-files/azure-netapp-files-rss-capable-nics.png)
62+
63+
## Is NIC Teaming supported in Azure?
64+
65+
NIC Teaming is not supported in Azure. Although multiple network interfaces are supported on Azure virtual machines, they represent a logical rather than a physical construct. As such, they provide no fault tolerance. Also, the bandwidth available to an Azure virtual machine is calculated for the machine itself and not any individual network interface.
66+
67+
## What’s the performance like for SMB Multichannel?
68+
69+
The following tests and graphs demonstrate the power of SMB Multichannel on single-instance workloads.
70+
71+
### Random I/O
72+
73+
With SMB Multichannel disabled on the client, pure 8-KiB read and write tests were performed using FIO and a 40-GiB working set. The SMB share was detached between each test, with increments of the SMB client connection count per RSS network interface settings of `1`,`4`,`8`,`16`, `set-SmbClientConfiguration -ConnectionCountPerRSSNetworkInterface <count>`. The tests show that the default setting of `4` is sufficient for I/O intensive workloads; incrementing to `8` and `16` had no effect.
74+
75+
The command `netstat -na | findstr 445` proved that additional connections were established with increments from `1` to `4` to `8` and to `16`. Four CPU cores were fully utilized for SMB during each test, as confirmed by the perfmon `Per Processor Network Activity Cycles` statistic (not included in this article.)
76+
77+
![Random I/O tests](../media/azure-netapp-files/azure-netapp-files-random-io-tests.png)
78+
79+
The Azure virtual machine does not affect SMB (nor NFS) storage I/O limits. As shown below, the D16 instance type has a limited rate of 32,000 for cached storage IOPS and 25,600 for uncached storage IOPS. However, the graph above shows significantly more I/O over SMB.
80+
81+
![Random I/O comparison](../media/azure-netapp-files/azure-netapp-files-random-io-tests-list.png)
82+
83+
### Sequential IO
84+
85+
Tests similar to the random I/O tests described above were performed with 64-KiB sequential I/O. Although the increases in client connection count per RSS network interface beyond 4’ had no noticeable effect on random I/O, the same does not apply to sequential I/O. As the following graph shows, each increase is associated with a corresponding increase in read throughput. Write throughput remained flat due to network bandwidth restrictions placed by Azure for each instance type/size.
86+
87+
![Sequential I/O tests](../media/azure-netapp-files/azure-netapp-files-sequential-io-tests.png)
88+
89+
Azure places network rate limits on each virtual machine type/size. The rate limit is imposed on outbound traffic only. The number of NICs present on a virtual machine has no bearing on the total amount of bandwidth available to the machine. For example, the D16 instance type has an imposed network limit of 8000 Mbps (1,000 MiB/s). As the sequential graph above shows, the limit affects the outbound traffic (writes) but not multichannel reads.
90+
91+
![Sequential I/O comparison](../media/azure-netapp-files/azure-netapp-files-sequential-io-tests-list.png)
92+
93+
## Is advanced networking recommended?
94+
95+
For maximum performance, it is recommended that you configure advanced networking where possible. Keep the following considerations in mind:
96+
97+
* The Azure portal enables advanced networking by default for virtual machines supporting this feature. However, other deployment methods such as Ansible and similar configuration tools may not. Failure to enable advanced networking can hobble the performance of a machine.
98+
* If advanced networking is not enabled on the network interface of a virtual machine due to its lack of support for an instance type or size, it will remain disabled with larger instance types. You will need manual intervention in those cases.
99+
100+
## Are jumbo frames supported?
101+
102+
Jumbo frames are not supported with Azure virtual machines.
103+
104+
## Is SMB Signing supported?
105+
106+
The SMB protocol provides the basis for file and print sharing and other networking operations such as remote Windows administration. To prevent man-in-the-middle attacks that modify SMB packets in transit, the SMB protocol supports the digital signing of SMB packets.
107+
108+
SMB Signing is supported for all SMB protocol versions that are supported by Azure NetApp Files.
109+
110+
## What is the performance impact of SMB Signing?
111+
112+
SMB Signing has a deleterious effect upon SMB performance. Among other potential causes of the performance degradation, the digital signing of each packet consumes additional client-side CPU as the perfmon output below shows. In this case, Core 0 appears responsible for SMB, including SMB Signing. A comparison with the non-multichannel sequential read throughput numbers in the previous section shows that SMB Signing reduces overall throughput from 875MiB/s to approximately 250MiB/s.
113+
114+
![SMB Signing performance impact](../media/azure-netapp-files/azure-netapp-files-smb-signing-performance.png)
115+
116+
117+
## Next steps
118+
119+
- [FAQs About Azure NetApp Files](azure-netapp-files-faqs.md)
120+
- See the [Azure NetApp Files: Managed Enterprise File Shares for SMB Workloads](https://cloud.netapp.com/hubfs/Resources/ANF%20SMB%20Quickstart%20doc%20-%2027-Aug-2019.pdf?__hstc=177456119.bb186880ac5cfbb6108d962fcef99615.1550595766408.1573471687088.1573477411104.328&__hssc=177456119.1.1573486285424&__hsfp=1115680788&hsCtaTracking=cd03aeb4-7f3a-4458-8680-1ddeae3f045e%7C5d5c041f-29b4-44c3-9096-b46a0a15b9b1) about using SMB file shares with Azure NetApp Files.
80.7 KB
Loading
187 KB
Loading
143 KB
Loading
193 KB
Loading
186 KB
Loading
152 KB
Loading
198 KB
Loading

0 commit comments

Comments
 (0)