Skip to content

Commit 72cb2d8

Browse files
authored
Cleanup SMB Multichannel for Linux
1 parent b368e32 commit 72cb2d8

1 file changed

Lines changed: 15 additions & 22 deletions

File tree

articles/storage/files/smb-performance.md

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn about ways to improve performance and throughput for SSD (pre
44
author: khdownie
55
ms.service: azure-file-storage
66
ms.topic: concept-article
7-
ms.date: 07/21/2025
7+
ms.date: 01/06/2026
88
ms.author: kendownie
99
ms.custom:
1010
- build-2025
@@ -14,22 +14,9 @@ ms.custom:
1414

1515
# Improve performance for SMB Azure file shares
1616

17-
This article explains how you can improve performance for SSD (premium) SMB Azure file shares, including using SMB Multichannel and metadata caching.
17+
**Applies to:** :heavy_check_mark: SMB Azure file shares
1818

19-
## Applies to
20-
21-
| Management model | Billing model | Media tier | Redundancy | SMB | NFS |
22-
|-|-|-|-|:-:|:-:|
23-
| Microsoft.Storage | Provisioned v2 | HDD (standard) | Local (LRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
24-
| Microsoft.Storage | Provisioned v2 | HDD (standard) | Zone (ZRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
25-
| Microsoft.Storage | Provisioned v2 | HDD (standard) | Geo (GRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
26-
| Microsoft.Storage | Provisioned v2 | HDD (standard) | GeoZone (GZRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
27-
| Microsoft.Storage | Provisioned v1 | SSD (premium) | Local (LRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
28-
| Microsoft.Storage | Provisioned v1 | SSD (premium) | Zone (ZRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
29-
| Microsoft.Storage | Pay-as-you-go | HDD (standard) | Local (LRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
30-
| Microsoft.Storage | Pay-as-you-go | HDD (standard) | Zone (ZRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
31-
| Microsoft.Storage | Pay-as-you-go | HDD (standard) | Geo (GRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
32-
| Microsoft.Storage | Pay-as-you-go | HDD (standard) | GeoZone (GZRS) | ![Yes](../media/icons/yes-icon.png) | ![No](../media/icons/no-icon.png) |
19+
This article explains how you can improve performance for SSD (premium) SMB Azure file shares, including using SMB Multichannel and metadata caching.
3320

3421
## Optimizing performance
3522

@@ -39,7 +26,7 @@ The following tips might help you optimize performance:
3926
- Use multi-threaded applications and spread the load across multiple files.
4027
- Performance benefits of SMB Multichannel increase with the number of files distributing the load.
4128
- 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.
4330
- The initial test is usually a warm-up. Discard the results and repeat the test.
4431
- 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.
4532

@@ -51,10 +38,10 @@ Higher I/O sizes drive higher throughput and have higher latencies, resulting in
5138

5239
## SMB Multichannel
5340

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
5644

57-
### Linux SMB Multichannel Support
5845
Azure Files supports SMB Multichannel with native Linux SMB clients on the following distributions:
5946

6047
- *Ubuntu 22.04*
@@ -66,13 +53,19 @@ Azure Files supports SMB Multichannel with native Linux SMB clients on the follo
6653
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.
6754

6855
#### Prerequisites
56+
57+
The following are prerequisites to use SMB Multichannel with Linux.
58+
6959
- Kernel with SMB multichannel support enabled (typically 6.8+ and up with *max_channel=4* mount flags)
7060
- SMB 3.1.1
7161
- Multiple network interfaces or network paths (if available)
7262
- Port 445/TCP open between client and Azure Files endpoint
7363
- Ensure client side receive-side scaling (RSS) is enabled for multi-queue support
7464

75-
#### Example
65+
#### Example mount command
66+
67+
The following is an example mount command for using SMB Multichannel with Linux.
68+
7669
```Bash
7770
mount -t cifs //<storageaccount>.file.core.windows.net/<share> /mnt/azfiles \
7871
-o vers=3.1.1,username=<account>,password=<key>,dir_mode=0777,file_mode=0777, \
@@ -112,7 +105,7 @@ SMB Multichannel for Azure file shares currently has the following restrictions:
112105
- Only supported on clients that are using SMB 3.1.1. Ensure SMB client operating systems are patched to recommended levels.
113106
- 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).
114107

115-
### Windows Configuration
108+
### Windows configuration
116109

117110
SMB Multichannel only works when the feature is enabled on both client-side (your client) and service-side (your Azure storage account).
118111

0 commit comments

Comments
 (0)