This document will explain how Buurst's SoftNAS appliance interfaces with Microsoft Windows clients using the SMB/CIFS protocol that is native to Microsoft. SoftNAS uses “Samba” as the software interface to expose the underlying filesystem to Microsoft Windows clients. Samba is the main Linux implementation of SMB, which also supports most of CIFS and Microsoft’s implementation of SMB.
SMB, which stands for Server Message Block, is a protocol for sharing files, printers, serial ports, and communications abstractions such as named pipes and mail slots between computers. CIFS (Computer Internet FileSystem ) is a more recent extension of the SMB protocol developed at IBM, and later by Microsoft. Samba interfaces the proprietary version of SMB that Microsoft uses, known as “Microsoft SMB Protocol” to non-proprietary solutions outside of the Microsoft ecosystem.
Best Practice for Scaling CIFS Performance on SoftNAS in the Cloud
If you are using SoftNAS® as the backend storage for Microsoft Windows applications that require SMB or CIFS over named pipes or UNC paths, you may find better performance by scaling your Microsoft application horizontally (or in parallel) rather than scaling your application vertically. The reason for ‘scaling out’ with more front end application threads is to get more parallel processing when dealing with Windows implementation of the SMB protocol. It behaves in such a way that all SMB requests are piped through single TCP connections. Adding more TCP connections, therefore, increases the number of threads for file pipes.