DEV Community

Cover image for Load Testing using Netling
NaveenKumar Namachivayam ⚡
NaveenKumar Namachivayam ⚡

Posted on

Load Testing using Netling

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.

Load Testing using Netling
Load Testing using Netling

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

Duration
Duration

  • URL
    • Valid URL under test e.g. https://example.com

To start the load testing, click on Run button as shown below.

Run
Run

A progress bar will get displayed once the test is started.

Run in progress
Run in progress

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.

Test Result
Test Result

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.

Baseline
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.

Netling Console
Netling Console

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.

Netling Console Output
Netling Console Output

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)

Collapse
 
antyadev profile image
Anton Moldovan

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).