SPECstorage™ Solution 2020_eda_blended Result

Copyright © 2016-2025 Standard Performance Evaluation Corporation

Microsoft and NetApp Inc. SPECstorage Solution 2020_eda_blended = 10560 Job_Sets
Azure NetApp Files large volume scale Overall Response Time = 0.64 msec


Performance

Business
Metric
(Job_Sets)
Average
Latency
(msec)
Job_Sets
Ops/Sec
Job_Sets
MB/Sec
7040.2853168175111
14080.32963363410223
21120.32595045315336
28160.330126725020448
35200.366158407625558
42240.391190087530672
49280.428221768335784
56320.420253449040893
63360.446285130046005
70400.468316815851118
77440.522348489056230
84480.614380169661344
91520.813411853966453
98561.515443538271570
105603.753474545376487
Performance Graph


Product and Test Information

Azure NetApp Files large volume scale
Tested byMicrosoft and NetApp Inc.
Hardware AvailableMay 2024
Software AvailableMay 2024
Date TestedAugust 2025
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
16Storage ServiceMicrosoftAzure NetApp Files large volumeAzure NetApp Files large volumes can support from 50 TiB to 2 PiB in size, with a maximum throughput of up to 12800 MiB/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.
260Azure Virtual MachineMicrosoftStandard_D32_v5Red Hat Enterprise Linux running on Azure D32s_v5 Virtual Machines (32 vCPU, 128 GB Memory, 16 Gbps Networking). The Dsv5-series virtual machines offer a combination of vCPUs and memory to meet the requirements associated with most enterprise workloads

Configuration Diagrams

  1. Azure NetApp Files large volumes Scale Configuration Diagram

Component Software

Item NoComponentTypeName and VersionDescription
1RHEL 9.5Operating SystemRHEL 9.5 (Kernel 5.14.0-503.38.1.el9_5.x86_64)Operating 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
nfsvers3NFS 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_max4194304 Maximum 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
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
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.

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, 50 TiB, 12800 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 Storage6
Number of Filesystems6
Total Capacity300 TiB
Filesystem TypeAzure NetApp Files large volume

Filesystem Creation Notes

Large volumes were created via the public Azure API using the azure cli tool. 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 54975581388800 --CustomThroughputMibps 12800
Creating the Azure NetApp Files Volume: az netappfiles volume create --resource-group [resource-group] --account-name [account-name] --location [location] --pool-name [pool-name] --name [volume-name] --usage-threshold 51200 --file-path [mount-point] --protocol-types NFSv3 --vnet [vnet-id] --zones 1 --throughput-mibps 12800

Storage and Filesystem Notes

n/a

Transport Configuration - Virtual

Item NoTransport TypeNumber of Ports UsedNotes
116 Gbps Virtual NIC60Each Linux Virtual Machine has a single 16 Gbps Network Adapter with Accelerated Networking enabled.

Transport Configuration Notes

Azure Virtual machines allocated bandwidth limits egress (outbound) traffic from the virtual machines. The virtual machines ingress bandwidth rates may exceed 16 Gbps 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 - Qatar Central AZ3Virtual Network1111Each Azure virtual network had 1 connection for the Azure NetApp Files storage endpoint and 10 (1 per) RHEL client. Azure virtual networks allow up to 65,536 Network interface cards and Private IP addresses per virtual network. This Azure VNet was Peered to the VNet in Canada Central AZ1.
2Azure Virtual Network - South Africa North AZ2Virtual Network1111This Azure VNet was Peered to the VNet in Canada Central AZ1.
3Azure Virtual Network - South Africa North AZ3Virtual Network1111This Azure VNet was Peered to the VNet in Canada Central AZ1.
4Azure Virtual Network - Germany West Central AZ1Virtual Network1111This Azure VNet was Peered to the VNet in Canada Central AZ1.
5Azure Virtual Network - Canada Central AZ1Virtual Network1111This Azure VNet was Peered to all other VNets to allow Prime client communication between itself and the workload clients
6Azure Virtual Network - Canada Central AZ2Virtual Network1111This Azure VNet was Peered to the VNet in Canada Central AZ1.

Processing Elements - Virtual

Item NoQtyTypeLocationDescriptionProcessing Function
11920vCPUAzure CloudIntel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (32 cores allocated to each VM)Client Workload Generator

Processing Element Notes

n/a

Memory - Virtual

DescriptionSize in GiBNumber of InstancesNonvolatileTotal GiB
Client Workload Generator12860V7680
Grand Total Memory Gibibytes7680

Memory Notes

None

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

Clients accessed one storage endpoint for the Azure NetApp Files large volume within the same availability zone/virtual network.
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-se).

Other Solution Notes

None

Dataflow

60 clients were used to generate the workload: 1 client acted as both Prime client and a workload client to itself and the 59 other workload clients.
Each workload client used one 16 Gbps virtual network adapter, through a single vnet connected to one Azure NetApp Files endpoint. Each client mounted one ANF large volume as an NFSv3 filesystem.
The Prime client communicated with all workload clients outside of the virtual network it was connected to using virtual network peering. Client to storage traffic was contained within each virtual network created per region/availability zone.

Other Notes

There is 1 mount per client. Example mount commands from one server are shown below. /etc/fstab entry:
10.254.121.4:/canada-az1-vol /mnt/eda nfs hard,proto=tcp,vers=3,rsize=262144,wsize=262144,nconnect=8,nocto,noatime,actimeo=600 0 0


mount | grep eda
10.254.121.4:/canada-az1-vol on /mnt/eda type nfs (rw,noatime,vers=3,rsize=262144,wsize=262144,namlen=255,acregmin=600,acregmax=600,acdirmin=600,acdirmax=600,hard,nocto,proto=tcp,nconnect=8,timeo=600,retrans=2,sec=sys,mountaddr=10.254.121.4,mountvers=3,mountport=635,mountproto=tcp,local_lock=none,addr=10.254.121.4)

Other Report Notes

None


Generated on Mon Oct 6 12:41:33 2025 by SpecReport
Copyright © 2016-2025 Standard Performance Evaluation Corporation