Performance testing is the process of determining a system’s behaviour in terms of responsiveness and stability when the system is subjected to a workload. Whenever, a new server is put into service it is subjected to load testing, a form of performance testing, to identify the behaviour of the system under specific workload and also to identify the bottlenecks in the system.
In the case of a fileserver, the responsiveness can be measured in terms of throughput and latency when multiple users are performing concurrent I/O. Also, it is important to find out the number of users the system can successfully support without hitting a bottleneck.
Fileserver capacity tool (FSCT) is an excellent tool to determine how many users a file server can support. It is one among many tools that Microsoft developed for its internal usage and later made it available for the technical community at large It is a command line based tool and it works by running a set of workloads on the file server. The default workload is “HomeFolders” which runs some basic operations like creating files, directories, renaming and editing the files etc. It tries to determine the server’s behaviour assuming the server’s primary function is to store the user’s home directory. The scenarios are stored in .xml files and can be changed to run with a different configuration than the pre-configured one. The operations are performed from multiple clients simultaneously and the performance in terms of throughput, latency is calculated. As we can configure the test to run with n number of users, we can also calculate the maximum number of users that the fileserver supports. The server can be a Windows or non-windows server.
The FSCTStepbyStepGuide.doc available with the build has very detailed steps about configuring the machines to start the testing. In addition to the steps mentioned in the document the following steps can be followed to run the tool against a non-microsoft server.
Following Requirements are needed to run the tool against a non-windows server:
- Domain Controller: Windows Server Active Directory Infrastructure
- File Controller: Windows Server 2k8r2 or higher with at least 1GB free space
- Client: Windows7 or higher with at least 1GB free space
- Server: The non-windows server which we will be testing.
On all Windows machines following changes need to be done:
1) Disable UAC
2) Disable UAC remote restrictions on all Windows machines.
3) Ensure following services are running on the Domain controller and File controller:
- DNS Client
- Function Discovery Resource Publication
- SSDP Discovery
- UPnP Device Host
4) On all Windows machines, Turn On Network discovery and File and Printer sharing.
FSCT configures the server by using the hostname of server and sharename as fsroot followed by a number, if the sharename is not fsroot the preparation phase of server will fail.
Although, you can always rename your sharename to fsroot1, it might not be a good solution. An excellent way to address this limitation is
- Create a softlink of the share with name fsroot1
- Add the entry in /etc/samba/smb.conf
- Restart smbd and nmbd service
Once the machines have been configured you can:
- Run FSCT to prepare the domain controller, file controller, client and server to run the test.