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
This article explains how you can improve performance for SSD (premium) SMB Azure file shares, including using SMB Multichannel and metadata caching.
33
20
34
21
## Optimizing performance
35
22
@@ -39,7 +26,7 @@ The following tips might help you optimize performance:
39
26
- Use multi-threaded applications and spread the load across multiple files.
40
27
- Performance benefits of SMB Multichannel increase with the number of files distributing the load.
41
28
- SSD share performance is bound by provisioned share size, including IOPS and throughput, and single file limits. For details, see [understanding the provisioning v1 model](understanding-billing.md#provisioned-v1-model).
42
-
- Maximum performance of a single VM client is still bound to VM limits. For example, [Standard_D32s_v3](/azure/virtual-machines/dv3-dsv3-series) supports a maximum bandwidth of approximately 1.86 GiB/sec. Egress from the VM (writes to storage) is metered, but ingress (reads from storage) isn't. File share performance is subject to machine network limits, CPUs, internal storage available network bandwidth, IO sizes, parallelism, and other factors.
29
+
- Maximum performance of a single virtual machine (VM) client is still bound to VM limits. For example, [Standard_D32s_v3](/azure/virtual-machines/dv3-dsv3-series) supports a maximum bandwidth of approximately 1.86 GiB/sec. Egress from the VM (writes to storage) is metered, but ingress (reads from storage) isn't. File share performance is subject to machine network limits, CPUs, internal storage available network bandwidth, IO sizes, parallelism, and other factors.
43
30
- The initial test is usually a warm-up. Discard the results and repeat the test.
44
31
- If performance is limited by a single client and workload is still below provisioned share limits, you can achieve higher performance by spreading the load over multiple clients.
45
32
@@ -51,10 +38,10 @@ Higher I/O sizes drive higher throughput and have higher latencies, resulting in
51
38
52
39
## SMB Multichannel
53
40
54
-
SMB Multichannel enables an SMB client to establish multiple network connections to an SMB file share, improving throughput and resiliency. Azure Files supports SMB Multichannel on SSD file shares for both Windows and Linux SMB clients.
55
-
For supported OS versions and detailed configuration, see the Linux SMB Multichannel section below.
41
+
SMB Multichannel enables an SMB client to establish multiple network connections to an SMB file share, improving throughput and resiliency. Azure Files supports SMB Multichannel on SSD file shares for both Windows and Linux SMB clients. For supported Linux OS versions and detailed configuration, see the Linux SMB Multichannel section.
42
+
43
+
### Linux SMB Multichannel support
56
44
57
-
### Linux SMB Multichannel Support
58
45
Azure Files supports SMB Multichannel with native Linux SMB clients on the following distributions:
59
46
60
47
-*Ubuntu 22.04*
@@ -66,13 +53,19 @@ Azure Files supports SMB Multichannel with native Linux SMB clients on the follo
66
53
These clients must be running the appropriate kernel stack and CIFS utilities that support multichannel. SMB Multichannel support on Linux enables performance scaling similar to Windows by establishing multiple parallel TCP connections to the same file share endpoint.
67
54
68
55
#### Prerequisites
56
+
57
+
The following are prerequisites to use SMB Multichannel with Linux.
58
+
69
59
- Kernel with SMB multichannel support enabled (typically 6.8+ and up with *max_channel=4* mount flags)
70
60
- SMB 3.1.1
71
61
- Multiple network interfaces or network paths (if available)
72
62
- Port 445/TCP open between client and Azure Files endpoint
73
63
- Ensure client side receive-side scaling (RSS) is enabled for multi-queue support
74
64
75
-
#### Example
65
+
#### Example mount command
66
+
67
+
The following is an example mount command for using SMB Multichannel with Linux.
68
+
76
69
```Bash
77
70
mount -t cifs //<storageaccount>.file.core.windows.net/<share> /mnt/azfiles \
@@ -112,7 +105,7 @@ SMB Multichannel for Azure file shares currently has the following restrictions:
112
105
- Only supported on clients that are using SMB 3.1.1. Ensure SMB client operating systems are patched to recommended levels.
113
106
- Maximum number of channels is four. For details, see [here](/troubleshoot/azure/azure-storage/files-troubleshoot-performance?toc=/azure/storage/files/toc.json#cause-4-number-of-smb-channels-exceeds-four).
114
107
115
-
### Windows Configuration
108
+
### Windows configuration
116
109
117
110
SMB Multichannel only works when the feature is enabled on both client-side (your client) and service-side (your Azure storage account).
0 commit comments