JMeter is an open-source load testing tool, written in Java. It's capable of testing a number of different server types (for example, web, web services, database, just about anything that uses requests basically). It does however have a steep learning curve once you start getting to complicated tests, but it's well worth it. Webserver Stress Tool is the most cost-effective solution in the market for simulating performance, load, and stress tests for your web server. Full Specifications What's new in version 7.2.1.261/262. Webserver Stress Tool records the CPU load of the client machine during the test, so you can check after a test whether you need more processing power. Network For load tests the network connection between the test client and the server is critical. Wrap the load tests in a JUnit class. Fork the tests multi-threaded using either Maven Surefire or Gradle (with a filtering test task using maxParallelForks). Gradle or Maven will create a JUnit report (from a CSS transformation) that shows each test and the time each one took. NTS maintains key relationships with various test tool vendors, allowing NTS to exercise the industry’s leading high-end software stress and load testing tools on a term licensing basis (e.g., the products are licensed for use on each project based upon the duration of the project and the number of virtual users emulated).
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.
Web Stress Test
The Netling console client is also notable for its cool ASCII charts.
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.
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.
Web Application Stress Tool
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.