Nutanix Acropolis File Services (AFS): Performance and Scalability by Design
This post authored by Dan Chilton, Sr Solutions Performance Engineer at Nutanix
Nutanix recently released version 5.0 of the Acropolis Operating System and with that release came an exciting Nutanix product feature—Acropolis File Services, or AFS, for short. This new feature deploys like an app on the Nutanix platform. It provides the ability to deploy a robust, enterprise-capable SMB file sharing solution on a Nutanix cluster. By providing this feature within the Nutanix platform, it removes the need to maintain a separate stand-alone network attached storage (NAS) solution for Windows / SMB file services.
AFS is a clustered, distributed file server that runs as a set of file server VMs on the Nutanix platform. AFS has performance scalability built into the flexible design. As storage and performance needs grow, AFS can easily scale out or up, while also allowing dynamic load balancing. For more of a deep dive on AFS features and architecture, read ourtech note.
The following workloads are well suited to be supported by the Nutanix designed AFS.
Windows user home directories
Virtual desktop user remote profiles
In this blog, we discuss file server performance requirements and testing methods, as well as how AFS meets and exceeds these requirements.
One of the first things that customers want to know when considering a file server solution is how well it performs. As someone who focuses on solution performance in my day job, I know how important this is. However, to answer the question, we first need to understand what the customer wants to do with the solution. The customer interactions with the file server constitute the workload.
Here are some example workloads:
Copying one large file at a time to the file server.
Browsing a list of files in a directory and then reading the desired file.
Downloading a file from the file server to the local client desktop.
Editing a document with Microsoft Word and then saving the document.
Multiple users logging on to virtual desktops that have their remote profiles stored on a file server
We used tools throughout the development and release cycle to test the performance of these workloads and others to make sure that we would perform well for our target use cases. To test workload #1, we used robocopy/copy and paste, #2-#4Microsoft File Service Capacity Tool or FSCT, and #5LoginVSI.
Single File Copy Test = Poor Test of Performance
File copy is easy to test (just copy and paste a large file) but it is a poor indicator of file system performance due to a low number of outstanding I/O and the single threaded nature of the workload. This means that a file copy test doesn’t accurately test what the fileserver can do.
Typical real world situations have many clients or applications requesting data concurrently driving a workload. Don’t just take my word for it, check out this discussion from Microsoft OneDrive team member Jose Barreto.
FSCT is a performance test suite based on the analysis of real user home directory operations at Microsoft. It has been used to prove performance by file server vendors including Microsoft, NetApp, and EMC. Some key aspects of FSCT that make it so valuable for simulating customer user home directory environments are:
It tests Active Directory integration, including Windows Domain Controllers, clients, user accounts, authentication, and permissions
Users connect to their home directory with multiple sub-directories, for a total of 270 files/folders and ~80MB of data
Users execute scenarios that create file service metadata workloads
Operations include cmdline file download/upload, Windows Explorer file delete, drag/drop, MS Word file open/close, and save
Throughput is measured in user count of concurrent sustained users, instead of IOPS/FileOPs.
We found that AFS provides a solution for home directories that can be scaled up as user count grows.
With FSCT, we pushed our file server to the limits and established reliable user connection counts per file server VM (FSVM) node that can be scaled up as needed.
We translated this data into the Nutanix Sizing tool to provide quality sizing proposals coupled with room for future growth.
The chart below shows the capability of a single AFS file server node in terms of concurrent heavy user workload.
The AFS solution starts with as few as three VMs, but we have successfully tested a solution scaled out to as many as 16 AFS virtual machines on a 16-node cluster. AFS functionality can be added to existing Nutanix clusters to leverage extra storage capacity or deployed as a standalone file server cluster.
You can scale out small four vCPU and 16 GB RAM AFS VM nodes to support thousands of users by distributing the load across AFS nodes.
We configured LoginVSI, a popular, industry-standard VDI sizing tool, to store the virtual desktop user remote profiles on the AFS solution. We also used Citrix Profile management, a robust enterprise VDI deployment suite. The workload includes Windows OS operations and applications including Microsoft Outlook.
With VDI profiles, the AFS server consumes cycles mainly during the boot phase; once the desktops are booted, they consume most of the CPU and RAM cycles. Accordingly, to gauge AFS performance, we focused on average logon time as the key metric (of course, less is more when it comes to logon time). We wanted to see if logon time increased with clients connecting to AFS file shares to read their profiles at boot up, rather than to the local c:\drive.
We found that we could easily support a 400 virtual desktop deployment with our smallest AFS cluster. As shown in the chart below, the total user desktop logon time was 7.2 seconds for local c:\drive and 6.8 for remotely stored profile. (Note that these logon times are typical for LoginVSI virtual desktops and should not be confused with individual I/O response times, which are often in the ms and us range.)
Why Choose AFS? Performance Scalability by Design
Scale Out—Clustered by design with at least three nodes, AFS currently supports up to 16 nodes. Workloads can be distributed evenly across small or large Nutanix clusters. You can add more file server VMs as additional storage or compute are needed.
Scale Up—Recognizing that some file services workloads require large amounts of processing (CPU) and caching (memory), AFS nodes can scale up as requirements grow by adding additional vCPUs and RAM.
Load Balancing–As file data grows, the storage or processing demands sometimes cause a hot node. AFS easily solves this by rebalancing data and processing across nodes.
Analytics-driven—A fine-grained analytics engine built into AFS continually analyzes the storage and performance consumption of the file server. From this analysis, AFS recommends scaling out, scaling up, or rebalancing. This feature can reduce TCO by minimizing administration time and performance troubleshooting.
Our testing shows that the flexible, clustered design of AFS can provide the performance and scalability enterprises need for the most demanding SMB file sharing environments, all without the added expense of a standalone NAS appliance. Talk to your Nutanix partner to request a demo for AFS and leave the file storage and management to us.
If you are new to Nutanix, we invite you to start the conversation on how the Nutanix Enterprise Cloud Platform can work for your IT environment. Send us a note at firstname.lastname@example.org or follow us on Twitter and join the conversation in our community forums.
Disclaimer: This blog may contain links to external websites that are not part of Nutanix.com. Nutanix does not control these sites and disclaims all responsibility for the content or accuracy of any external site. Our decision to link to an external site should not be considered an endorsement of any content on such site.