SPECstorage™ Solution 2020_eda_blended Result

Copyright © 2016-2026 Standard Performance Evaluation Corporation

Microsoft and NetApp Inc. SPECstorage Solution 2020_eda_blended = 5340 Job_Sets
Azure NetApp Files large volume breakthrough mode (Aug 2026) Overall Response Time = 0.54 msec


Performance

Business
Metric
(Job_Sets)
Average
Latency
(msec)
Job_Sets
Ops/Sec
Job_Sets
MB/Sec
3560.2711602082584
7120.2893204165168
10680.3084806267754
14240.31564083610340
17800.32180104412926
21360.34796125315508
24920.349112146018093
28480.370128167120678
32040.401144187723265
35600.455160208925850
39160.559176229828438
42720.682192250631024
46280.889208271633605
49841.155224289836189
53402.043240313138776
Performance Graph


Product and Test Information

Azure NetApp Files large volume breakthrough mode (Aug 2026)
Tested byMicrosoft and NetApp Inc.
Hardware AvailableAugust 2026
Software AvailableMay 2026
Date TestedAugust 2026
License Number33
Licensee LocationsSan Jose, CA USA

Azure NetApp Files is an Azure native, first-party, enterprise-class, high-performance file storage service. It provides Volumes as a service, which you can create within a NetApp account and a capacity pool, and share to clients using SMB and NFS. You can also select service and performance levels and manage data protection. You can create and manage high-performance, highly available, and scalable file shares by using the same protocols and tools that you're familiar with and rely on on-premises.

Solution Under Test Bill of Materials

Item NoQtyTypeVendorModel/NameDescription
11Storage ServiceMicrosoftAzure NetApp Files large volume breakthrough modeAzure NetApp Files large volumes can support from 50 TiB to 2 PiB in size. Breakthrough mode enables individual volumes to scale beyond 12.5 GiB/s. Volumes can be resized up or down on demand, and throughput can be adjusted automatically (based on volume size) or manually depending on the capacity pool QoS type.
248Azure Virtual MachineMicrosoftStandard_E8_v5Red Hat Enterprise Linux running on 48 Azure E8_v5 Virtual Machines (8 vCPU, 64 GiB Memory, 1x Virtual NIC supporting up to 12.5 Gbps egress network bandwidth). Each workload client mounted the Azure NetApp Files large volume once over NFSv3.
31Azure Virtual MachineMicrosoftStandard_D2s_v5(Prime Client) Red Hat Enterprise Linux running on an Azure D2s_v5 Virtual Machine (2 vCPU, 8 GiB Memory, 1x Virtual NIC supporting up to 12.5 Gbps egress network bandwidth).

Configuration Diagrams

  1. Azure NetApp Files large volume breakthrough mode (Aug 2026) Configuration Diagram

Component Software

Item NoComponentTypeName and VersionDescription
1RHEL 9.8Operating SystemRHEL 9.8, kernel 5.14.0-687.41.1.el9_8.x86_64Operating System (OS) for the workload clients

Hardware Configuration and Tuning - Virtual

Client Network Settings
Parameter NameValueDescription
Accelerated NetworkingEnabledAccelerated Networking enables single root I/O virtualization (SR-IOV) on supported virtual machine (VM) types
Storage Network Settings
Parameter NameValueDescription
Network featuresStandardStandard Network Features allows Azure VNet features such as network security groups, user-defined routes and others.

Hardware Configuration and Tuning Notes

None

Software Configuration and Tuning - Virtual

Clients
Parameter NameValueDescription
rsize,wsize262144NFS mount options for data block size
protocoltcpNFS mount options for protocol
vers3NFS mount options for NFS version
nconnect8NFS mount options for multiple TCP connections
actimeo600NFS mount option to modify the timeouts for attribute caching
noctopresent (boolean)NFS mount option to turn off close-to-open consistency
noatimepresent (boolean)NFS mount option to turn off access time updates
nofile102400Maximum number of open files per user
nproc10240Maximum number of processes per user
sunrpc.tcp_slot_table_entries128Sets the number of (TCP) RPC entries to pre-allocate for in-flight RPC requests
net.core.wmem_max16777216Maximum size of the socket send buffer
net.core.rmem_max16777216Maximum size of the socket receive buffer
net.core.wmem_default1048576Default setting in bytes of the socket send buffer
net.core.rmem_default1048576Default setting in bytes of the socket receive buffer
net.ipv4.tcp_rmem1048576 8388608 33554432Minimum, default and maximum size of the TCP receive buffer
net.ipv4.tcp_wmem1048576 8388608 33554432Minimum, default and maximum size of the TCP send buffer
net.core.optmem_max4194304Maximum ancillary buffer size allowed per socket
net.core.somaxconn65535Maximum tcp backlog an application can request
net.ipv4.tcp_mem4096 89600 8388608Maximum memory in 4096-byte pages across all TCP applications. Contains minimum, pressure and maximum.
net.ipv4.tcp_window_scaling1Enable TCP window scaling
net.ipv4.tcp_timestamps0Turn off timestamps to reduce performance spikes related to timestamp generation
net.ipv4.tcp_no_metrics_save1Prevent TCP from caching connection metrics on closing connections
net.ipv4.route.flush1Flush the routing cache
net.ipv4.tcp_low_latency1Allows TCP to make decisions to prefer lower latency instead of maximizing network throughput. * See Note below
net.ipv4.ip_local_port_range1024 65000Defines the local port range that is used by TCP and UDP traffic to choose the local port.
net.ipv4.tcp_slow_start_after_idle0Congestion window will not be timed out after an idle period
net.core.netdev_max_backlog300000Sets maximum number of packets, queued on the input side, when the interface receives packets faster than kernel can process
net.ipv4.tcp_sack0Disable TCP selective acknowledgements
net.ipv4.tcp_dsack0Disable duplicate SACKs
net.ipv4.tcp_fack0Disable forward acknowledgement. * See Note below
vm.dirty_expire_centisecs30000Defines when dirty data is old enough to be eligible for writeout by the kernel flusher threads. Unit is 100ths of a second.
vm.dirty_writeback_centisecs30000Defines a time interval between periodic wake-ups of the kernel threads responsible for writing dirty data to hard-disk. Unit is 100ths of a second.

Software Configuration and Tuning Notes

Tuned the necessary client parameters as shown above, for communication between clients and storage over Azure Virtual Networking, to optimize data transfer and minimize overhead. < br /> Note - net.ipv4.tcp_low_latency and net.ipv4.tcp_fack are obsolete in Linux 4.14 and later but were configured during the test.

Service SLA Notes

Service Level Agreement (SLA) for Azure NetApp Files

Storage and Filesystems

Item NoDescriptionData ProtectionStable StorageQty
1Azure NetApp Files large volume, Flexible Service Level, 150 TiB, 57,600 provisioned MiB/sAzure NetApp Files Flexible, Standard, Premium and Ultra service levels are built on a fault-tolerant bare-metal fleet powered by ONTAP, delivering enterprise-grade resilience, and uses RAID-DP (Double Parity RAID) to safeguard data against disk failures. This mechanism distributes parity across multiple disks, enabling seamless data recovery even if two disks fail simultaneously. RAID-DP has a long-standing presence in the enterprise storage industry and is recognized for its proven reliability and fault tolerance.Stable Storage1
Number of Filesystems1
Total Capacity150 TiB
Filesystem TypeAzure NetApp Files large volume

Filesystem Creation Notes

The large volume was created via the public Azure API using the Azure CLI. Creation commands are available here: https://learn.microsoft.com/en-us/cli/azure/netappfiles/volume?view=azure-cli-latest#az-netappfiles-volume-create
Creating the Azure NetApp Files Account: az netappfiles account create --account-name [account-name] --resource-group [resource-group] --location [location]
Creating the Azure NetApp Files Capacity Pool: az netappfiles pool create --account-name [account-name] --resource-group [resource-group] --location [location] --pool-name [pool-name] --service-level Flexible --size 164926744166400 --CustomThroughputMibps 57600
Creating the Azure NetApp Files Volume: az netappfiles volume create --account-name [account-name] --file-path [mount-point] --name [volume-name] --pool-name [pool-name] --resource-group [resource-group] --location [location] --protocol-types NFSv3 --vnet [vnet-id] --subnet [subnet-id] --zones 1 --service-level Flexible --network-features Standard --is-large-volume true --usage-threshold 153600 --throughput-mibps 57600 --breakthrough-mode Enabled

Storage and Filesystem Notes

The provisioned throughput (57,600 MiB/s) is the volume's configured maximum; actual maximum achievable throughput depends on the workload.

Transport Configuration - Virtual

Item NoTransport TypeNumber of Ports UsedNotes
1Virtual NIC48Each of the 48 workload Linux Virtual Machines has a single Network Adapter supporting up to 12.5 Gbps egress network bandwidth with Accelerated Networking enabled.
2Virtual NIC1The Prime client has a single Network Adapter supporting up to 12.5 Gbps egress network bandwidth with Accelerated Networking enabled.

Transport Configuration Notes

Azure Virtual machines bandwidth limits egress (outbound) traffic from each virtual machine up to 12.5 Gbps. The virtual machines ingress bandwidth rates may exceed the documented limit depending on other resources available to the virtual machine (https://learn.microsoft.com/en-us/azure/virtual-network/virtual-machine-network-throughput)

Switches - Virtual

Item NoSwitch NameSwitch TypeTotal Port CountUsed Port CountNotes
1Azure Virtual Network - Sweden Central region - AZ1Virtual Network5555The Azure virtual network had 6 connections for the Azure NetApp Files storage endpoints, 1 connection for the Prime client, and 48 (1 per) RHEL client VMs. Azure virtual networks allow up to 65,536 Network interface cards and Private IP addresses per virtual network.

Processing Elements - Virtual

Item NoQtyTypeLocationDescriptionProcessing Function
1384vCPUAzure CloudIntel(R) Xeon(R) Platinum 8573C CPU @ 3.50GHz (8 cores allocated to each of the 48 Workload VMs)Client Workload Generator
22vCPUAzure CloudIntel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (2 cores allocated to Prime VM)Prime Client

Processing Element Notes

n/a

Memory - Virtual

DescriptionSize in GiBNumber of InstancesNonvolatileTotal GiB
Client Workload Generator6448V3072
Prime Client81V8
Grand Total Memory Gibibytes3080

Memory Notes

n/a

Stable Storage

Azure NetApp Files utilizes non-volatile battery-backed memory of two independent nodes as write caching prior to write acknowledgement. This protects the filesystem from any single-point-of-failure until the data is de-staged to disks. In the event of an abrupt failure, pending data in the non-volatile battery-backed memory is replayed to disk upon restoration.

Solution Under Test Configuration Notes

Each client was round-robin assigned and mounted NFSv3 to one of six storage endpoints for the Azure NetApp Files large volume. Each storage endpoint has 8 workload VMs connected.
Unlike a general-purpose operating system, Azure NetApp Files does not provide mechanisms for customers to run third-party code (https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/azure-netapp-files-security-baseline?toc=/azure/azure-netapp-files/TOC.json#security-profile). Azure Resource Manager allows only an allow-listed set of operations to be executed via the Azure APIs (https://learn.microsoft.com/en-us/azure/azure-netapp-files/control-plane-security).
Underlying Azure infrastructure was patched for Spectre/Meltdown on or prior to January 2018. (https://azure.microsoft.com/en-us/blog/securing-azure-customers-from-cpu-vulnerability/ and https://learn.microsoft.com/en-us/azure/virtual-machines/mitigate-spectre).

Other Solution Notes

n/a

Dataflow

48 clients were used to generate the workload plus 1 prime client.
Each workload client used a single virtual network adapter, through a single vnet connected to an Azure NetApp Files endpoint. Each client mounted one ANF large volume as an NFSv3 filesystem within the same Azure Region/availability zone.
Breakthrough mode enables six network endpoints per volume. The clients were round robin assigned to the available endpoints.

Other Notes

There is 1 mount per client, mounted at /mnt/eda on all 48 workload clients as listed in the CLIENT_MOUNTPOINTS line of the RC file. Example /etc/fstab entry:
10.0.10.4:/breakthrough-perf-test-lv /mnt/eda nfs hard,proto=tcp,vers=3,rsize=262144,wsize=262144,nconnect=8,nocto,noatime,actimeo=600 0 0

Other Report Notes

None


Generated on Mon Sep 14 16:28:53 2026 by SpecReport
Copyright © 2016-2026 Standard Performance Evaluation Corporation