Scott Hanselman

Two tools for quick and easy web application load testing during development

August 10, '16 Comments [28] Posted in Open Source
Sponsored By

I was on the ASP.NET Community Standup this morning and Jon mentioned a new tool for load testing called "Netling." This got me to thinking about simple lightweight load testing in general. I've used large enterprise systems like SilkTest  as well as the cloud based load testing tools like those in Azure and Visual Studio. I've also used command-line tools like WCAT, an old but very competent load testing tool.

I thought I'd take a moment and look at two tools run locally. The goal is to see how easily I can do quick load tests and iterate on the results.

Netling

Netling is by Tore Lervik and is a nice little load tester client for easy and quick web testing. It's open source and on GitHub which is always nice. It's fun to read other people's code.

Netling includes both a WPF and Console client and is cleanly factored with a Core project that does all the work. With the WPF version you do test and then optionally mark that test as a baseline. Then you can make small changes as you like and do a quick retest. You'll get red (bad) or green (good) results if things get better. This should probably be adjusted to ensure it is visible for those with red-green color blindness. Regardless, it's a nice clean UI and definitely something you'll want to throw into your utilities folder and call upon often!

Do remember that it's not really nice to do load testing on web servers that you don't own, so be kind.

Note that for now there are no formal "releases" so you'll need to clone the repo and build the app. Fortunately it builds very cleanly with the free version of Visual Studio Community 2015.

Netling is a nice load tester for Windows

The Netling console client is also notable for its cool ASCII charts.

D:\github\Netling\Netling.ConsoleClient\bin\x64\Debug [master ≡]> .\netling.exe http://www.microsoft.com -t 8 -d 20

Running 20s test @ http://www.microsoft.com/
Threads: 8
Pipelining: 1
Thread afinity: OFF

1544 requests in 20.1s
Requests/sec: 77
Bandwidth: 3 mbit
Errors: 0
Latency
Median: 99.876 ms
StdDev: 10.283 ms
Min: 84.998 ms
Max: 330.254 ms





██
███
████████████████████ █ █ █
84.998 ms =========================================================== 330.254 ms

D:\github\Netling\Netling.ConsoleClient\bin\x64\Debug [master ≡]>

I'm sure that Tore would appreciate the help so head over to https://github.com/hallatore/Netling and file some issues but more importantly, perhaps chat with him and offer a pull request?

WebSurge

WebSurge is a more fully featured tool created by Rick Strahl. Rick is known in .NET spaces for his excellent blog. WebSurge is a quick free download for personal use but you should register it and talk to Rick if you plan on using it commercially or a lot as an individual.

WebSurge also speaks the language of the Fiddler Web Debugging Proxy so you can record and playback web traffic and generate somewhat sophisticated load testing scenarios. The session files are just test files that you can put in source control and share with other members of your team.

image

I realize there's LOT of choices out there.  These are just two really quick and easy tools that you can use as a developer to easily create HTTP requests and then play back at will and iterate during the development process.

What do YOU use for load testing and iterating on performance during development? Let us all know in the comments.


Sponsor: Big thanks to Redgate for sponsoring the feed this week. Could you deploy 1,000 databases? Imagine working in a 70-strong IT team, with 91 applications and 1,000+ databases. Now imagine deployment time. It’s not fiction, it’s fact. Read FlexiGroup's story.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb
Wednesday, 10 August 2016 01:11:05 UTC
Damian showed Netling in NDC Sydney. Was really nice to see such a handy tool. Of course there are CLI tools around already but this one is really handy and easy to quickly start with.
Wednesday, 10 August 2016 01:15:59 UTC
We have used VS2012 LOAD testing.
Now exploring jmeter .
Saqib
Wednesday, 10 August 2016 02:02:52 UTC
Looks Promising. I liked this one : http://www.loadtestingtool.com/
Wednesday, 10 August 2016 04:23:55 UTC
We go all in with VSTS and Azure for load testing and perf analytics. Gives good integration in the lifecycle. http://clemensreijnen.nl/post/2016/06/15/Load-and-Performance-monitoring-and-analyzing-with-VSTS-and-Azure
Wednesday, 10 August 2016 06:19:53 UTC
Thanks for introducing these tools, will explore them soon.
Wednesday, 10 August 2016 08:13:12 UTC
In the article when you say this "I'm sure that Tore would appreciate the help so head over to https://github.com/hallatore/Netling and file some issues but more importantly, perhaps chat with him and offer a pull request?"

I'm confused - new to Git guy, hating it that all the GUI tools are deficient in some way - pull means updating your repo from some other repo, for me this has typically been pulling from origin/develop during working on a new version. So surely this should say "offer a push" if you are contributing code?
Peter
Wednesday, 10 August 2016 08:46:41 UTC
Hi Peter,

It's a "Pull Request". You are requesting him to pull your changes so he can look at them.

Regards,

Andrew
Andrew Murphy
Wednesday, 10 August 2016 10:20:33 UTC
Scott: One major part of Netling is it's performance. It will give Kestrel a run for it's money on localhost while using little CPU itself.

That's also why it works well for localhost testing, since it uses little CPU compared to others I've tested.
Tore Lervik
Wednesday, 10 August 2016 12:16:30 UTC
I'm assuming Netling is related to Gatling, which is another tool - and I haven't tried any of them :(
Wednesday, 10 August 2016 12:44:42 UTC
Sam Judson: I was using Gatling when I created Netling. So the name is somewhat releated, but they are very different. (Gatling does more, more features etc. But it also takes more time to set up and uses more cpu)
Tore Lervik
Wednesday, 10 August 2016 14:40:17 UTC
For a quick load test I still like Apache Bench (ab.exe)
Wednesday, 10 August 2016 17:22:33 UTC
Do either of these tools have a way to handle forms authentication ?

that's usually the stumbling block for me with these sorts of tools.
Mike J
Wednesday, 10 August 2016 17:25:22 UTC
Mike J: Forms auth just adds a cookie. Get this cookie from chrome for example and add it to the netling code that you compile yourself. That's the easiest way to get this working.
Tore Lervik
Thursday, 11 August 2016 02:00:03 UTC
I used Loader.io before and had a good experience with it.
Pierrick
Thursday, 11 August 2016 10:19:36 UTC
Nice one, thanks!

Another good option for dev and QA is Loadster - https://www.loadsterperformance.com/
There is a free and paid version, very good reports that can be shared with clients.
Kat
Thursday, 11 August 2016 22:11:53 UTC
Saw this on ASPNet Community Standup. Glad to see it highlighted here too!
Friday, 12 August 2016 08:47:44 UTC
There's a great new cross-platform Git client available now called GitKraken.
192.168.1.1
vailable
Friday, 12 August 2016 15:10:19 UTC
RedLine13.com for running load tests on your own cloud, example load test with 90 t2.micro servers for $3.07 USD https://twitter.com/redlinethirteen/status/763436546737315840
Saturday, 13 August 2016 06:06:30 UTC
Thanks for provided some new, I want to try them soon.
Tuesday, 16 August 2016 02:10:46 UTC
Thanks you introduce these tools.
I wonder how come i work in .NET 10+ years,but never found these tools and stay on Fiddler or something like JMeter.
Ming
Tuesday, 16 August 2016 12:04:17 UTC
Thanks for sharing this post. It's really great piece of information as we were only using Fiddler for this purpose. Never knew these tools exists.
Wednesday, 17 August 2016 13:42:01 UTC
StresStimulus is a load testing Fiddler add-on and a standalone tool. It replays captured or composed traffic with multiple users, and monitors Windows performance counters. Its forte is testing thought applications like Dynamics CRM and NAV. 250 emulated users are free.

Wednesday, 17 August 2016 17:21:01 UTC
Great tools Scott - thanks for the info, it's much appreciated!
Monaco
Wednesday, 17 August 2016 17:23:46 UTC
Netling is truly awesome - I definitely approve as well Scoot.
Monday, 22 August 2016 22:16:48 UTC
ASP.NET team has started a new initiative. They are organizing weekly community standups live on Google Hangout.
Friday, 02 September 2016 00:35:07 UTC
I'm confused - new to Git guy, hating it that all the GUI tools are deficient in some way - pull means updating your repo from some other pokevolver repo, for me this has typically been pulling from origin/develop during working on a new version.
Peter Domer
Friday, 02 September 2016 16:03:14 UTC
nice post guys. thanks admin..
Friday, 02 September 2016 16:04:05 UTC
wow great post thanks..
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.