As a performance test engineer, I always look for trends, new tools or solutions in the performance market. Couple months ago I stumbled upon a lightweight load testing tool called Netling. I wanted to write about very next day, but due to project work and Kubernetes certification, I was postponing this article. Today I got the time to research and test Netling and share my thoughts in a form of blog article Load Testing using Netling.
What is Netling?
Netling is a simple, lightweight load testing tool which is written in C#.
It is fast, free, and will be able to inject more load from your local machine.
How to install Netling?
Netling is free to download and you can customize the code based on your needs. Download Netling from GitHub.
There are two flavors of Netling is available. If you are a GUI person, you can download the Netling client. If you are terminal (CLI) person, you can leverage the Netling Console.
The only prerequisite is to have .NET 5 framework in your system. Download .NET 5 here.
Download the Netling zip files from GitHub, extract the contents to launch either the client or console.
How to launch Netling Client?
Launch the Netling client from C:\..\Netling.Client.net471\Netling.Client.exe
by double-clicking on it. On successful launch, you will get the below GUI.
How to load test the URL in Netling Client?
Load testing in Netling client is very simple. You have to configure the following:
- Threads
- You can configure up to 80 (20 per core)
- Duration
- You can configure based on your needs
- URL
- Valid URL under test e.g.
https://example.com
- Valid URL under test e.g.
To start the load testing, click on Run
button as shown below.
A progress bar will get displayed once the test is started.
After the test is completed, you will get the performance statistics in a separate window as shown below. You can baseline the run by clicking on USE AS BASELINE
button.
By default, Latency Histogram will get displayed. You can navigate to Request Throughput
and Status Code & Exceptions
by clicking on the respective tabs.
Below is the another run which violated the baseline.
How to launch Netling Console?
If you are a CLI person, then you will love Netling Console. Launch terminal and navigate to C:\..\Netling.ConsoleClient.netcore2.1.Win10-x64
as shown below and type .\Netling.exe -h
to view the usage.
To launch a load test, you need to pass only the three parameters: threads, duration, and the number of requests as shown below.
After the successful execution, you will get the graphical representation and the performance statistics.
Quick Tip: You can add the Netling.exe path to the
Environment Variable
for quicker access.
Points to note
You can also use Netling.core into your custom solutions.
By default, you can run up to 1000 connection. You can configure the number at Netling.ConsoleClient.dll.config
file.
Netling had a feature called Pipelining
but it was removed due to error prone. Pipelining enables multiple requests to go through in a single socket without waiting for a response.
By default, Netling uses SocketWorker
which is very fast. But you can also use HTTPClientWorker
which is easier to tweak.
Pros
- Easy to get started and learn
- Simple setup
- Lightweight
- Free and customizable
- Baseline setup
Cons
- No results' exporter
- Can't view the request/response logs
- Distributed load testing is not possible
- Cannot design business transactions
Conclusion
If you would like to test just the URL, there are a lot of options available. Netling is simple, free, and easy to set up and learn. Fire up the test and view the results. If your expectation is not too much, Netling is worth to check it out.
Top comments (1)
Nice write-up.
Regarding the load tests tool, I suggest considering NBomber, a .NET tool for load testing. It's a modern and flexible .NET load-testing framework for Pull and Push scenarios, designed to test any system regardless of a protocol (HTTP/WebSockets/AMQP, etc) or a semantic model (Pull/Push).