Load Testing Managed File Transfer Applications
Load testing is one activity that can help you in making sure your managed file transfer services are always in optimal conditions. In this post, we'll elaborate more about the importance of load testing and then talk about how JSCAPE MFT Monitor can enable you to gain insightful information from the load tests you run with it.
Importance of load testing file transfer services
When you're operating a managed file transfer server, it is important to know the limitations of your system before those limits are breached. That way, you can assure high availability and avoid having to face either irate end users who just had one-too-many failed connections or, worse, a major disruption resulting from a system overload.
For instance, if you know that, given certain conditions, your system can only handle 1000 users downloading and uploading files at the same time, then you can limit the number of concurrent users to a number wherein acceptable or even optimal performance is assured.
This is particularly important if you're running a managed file transfer server like JSCAPE MFT Server, which can support a lot of features. A typical JSCAPE MFT Server admin may be tempted to enable a number of features like automatic FTP virus scanning, OpenPGP encryption, email notifications, and others, which can really help enhance security and administration of file transfers but of course also need more system resources.
Being able to conduct load tests can help you determine how your server would react if certain features are enabled. Let's say you want to automatically protect each user's uploaded files with the OpenPGP encryption feature. If you already know that your organization's file transfer activities can easily hit 500 concurrent users at any given day, then you will want to run tests on your server first under those conditions before actually deploying the server.
Or, when you set out to choose a virus scanner solution for your automatic FTP virus scanning operation, for example, you might want to test each of your favored antivirus solutions first before actually deciding which one to buy. Normally, when people choose a virus scanner, they only focus on ease-of-use and the number/types of viruses the scanner can detect. With a load tester, you can now simulate concurrent connections and add CPU and memory consumption as another criteria for comparison.
Eliminate guess work
The estimates you make regarding your managed file transfer system's limitations should not be obtained from pure guess work. Otherwise, it would lead to system resource allocations that may be way too much or way too little. Or you could end up setting limits to your end users that are either way too conservative or too bloated.
In order to help admins make estimates that are as realistic as possible, we came up with a solution called JSCAPE MFT Monitor.
This is a platform-independent load testing and monitoring application. That means, you can run it on Windows, Linux, Mac OS X, Solaris machine and other platforms.
JSCAPE MFT Monitor's load tester
A JSCAPE MFT Monitor load test will allow you to test the load capabilities of your secure file transfer server by enabling you to simulate a variety of simultaneous upload and download scenarios wherein you can change variables such as the file size, number of users, and the amount of time before the next user performs an upload/download (a.k.a. "ramp up period").
Of course, if you set the application to simulate a large number of concurrent users, then there's going to be a big chance the server will encounter a surge in CPU and memory consumption. The effect can be made even more evident if you make the ramp up period as small as possible.
Let's have a quick look at how a load test looks like now.
Here's how the JSCAPE MFT Monitor main screen looks like:
As you can see from the screenshot above, you start off by giving the load test session a name. Then you specify a connection type. It currently supports FTP, FTP/SSL (AUTH TLS), FTP/Implicit SSL, and SFTP/SSH. Next, you need to enter the login credentials or the required key authentication details (if any).
The settings inside the panel named "Load" are the variables I mentioned earlier. You can actually ask the program to create a dummy file of a specified size, which will then be used in the simulated upload/download sessions.
Once the required fields have been entered, you just click the Run button. Then when the test is done, a report will be generated. The items you see under the Monitors node in the leftmost panel actually contain reports generated from the load testing sessions we conducted recently on our JSCAPE MFT Server.
Here are some average values of a load test I took wherein I simulated 20 users downloading and uploading files with only a 1 millisecond ramp up period.
Here's a graph of the same test showing the upload speeds experienced by each client.
Here are those same reports. But this time, I configured my JSCAPE MFT Server to automatically PGP encrypt each file that got uploaded and then to automatically send me an email notifying me of each upload/encryption.
When used alongside your server's system monitoring tools, a JSCAPE MFT Monitor load test can help you obtain even more useful information for managing your MFT Server.
Here's what I saw on my Linux System Monitor while running a load test of 100 users and a 1 ms ramp up period:
Now, here's what I got when I enabled PGP encryption and email sending:
The surge in CPU usage on both screenshots indicate the time when the load tester is interacting with the server and upload/downloads are being made. You'll quickly notice a couple of things in the second screenshot when compared to the first, which will give you an idea what's going on.
1. The CPU is busier for a longer period time. That's because, in the second scenario, PGP encryption and then email sending has to be performed after each file gets uploaded.
2. The CPU usage rises (starting at the arrow) and remains at a higher level before dropping. This is the period when some files are being encrypted, notifications are being emailed, and more files are coming in, all at the same time.
If all you have is the terminal, then you can execute some system monitoring commands on the server while the load test is going on. Here's a portion of what I saw when I executed the "top" command while running the load tester:
Since JSCAPE MFT Server is a Java program, look for that process when running "top". Well, I'm pretty sure you have a lot of ideas yourself as to what kind of information you want to monitor while running these tests. At any rate, this article should get you started.
You've just learned why it's important to carry out load tests on your managed file transfer services. You also now know what tool can help you carry out those tests. Still not sure whether you really need it? Why don't you download the free and fully functional evaluation edition of JSCAPE MFT Monitor and give it a test run?
JSCAPE MFT Monitor