Over the past two years, my employer, Web Performance, Inc, has supported my
work on the Legion Load Testing Framework when my other duties permit. The result has been a very flexible suite of software that has given us the ability to take on work that would otherwise be beyond the scope of our usual tools.
That being said. Legion remains experimental. Legion may be most appropriate for the unusual edge cases: proprietary, eccentric, or unusual protocols, or project requirements that other tools can’t handle, or if you want to write your load test using your own Node.js client APIs.
Legion absolutely … Continue reading »
What is Legion?
Legion is a distributed, protocol-agnostic load testing tool. You can learn more or get started with Legion on the legion-starter-pack GitHub page.
Why does it exist?
I wanted to create a tool that would solve the most challenging problems I’ve
encountered in my seven years of helping clients improve the performance,
capacity, and risk exposure of their network-enabled applications.
Those problems include:
Complexity of the use case or test design,
Unusual or proprietary protocols,
Requirements to scale beyond one million concurrent users,
Difficulty understanding or trusting the results of a test, and,
Difficulties with training new people on a given tool.
My hope is that Legion will eventually … Continue reading »
Last updated November 2017. You can also read this article on legion-starter-pack GitHub page.
A customer approached us wanting to load test a network service via a proprietary binary TCP protocol. The customers use case involved thousands of simultaneous connections from mobile IoT (Internet of Things) devices.
We decided that this was a perfect opportunity to use Legion.
Requirements
The protocol called for sequential request/response communication with no pipelining or interleaving of messages. There were multiple request and response types which had varying sizes and some fields of every request needed to be unique or dynamic. There seemed to be at least some … Continue reading »
I want to introduce you to something new: Web Performance Legion. Legion is a new open-source research product. It’s an attempt to create a powerful load testing tool that can handle difficult and or esoteric use cases while still being easy-to-understand at its core. It’s still in the early phases of development, but if you happen to love working with Node, or you need to test a complex RESTful API, Legion might be the tool for you.
Last week Microsoft rolled out Windows 10, which includes the new Microsoft Edge web browser. We can hope that Microsoft Edge will leave behind many of the issues that plagued Internet Explorer and deliver a modern browsing experience competitive with what we’ve come to expect from Google Chrome and Firefox.
Currently, Web Performance Tester supports Internet Explorer, Mozilla Firefox and Google Chrome as it’s three “top-tier” browsers for HTTP capture (virtual browser) testing and Google Chrome as the only supported browser for web driver (real browser) testing. But you can record and run load tests with Microsoft Edge today, and … Continue reading »
DynaTrace (now known as “Compuware APM for Enterprise Tiers”) is a tool to analyze performance as requests pass from the front-end webserver back to various application servers, database servers, and web services. It’s marketed as a way to obtain deep insight into performance problems without the overhead and inconvenience of other more intrusive profiling tools. During a load test, DynaTrace works best if requests are annotated with metadata. We added a feature to emit DynaTrace-compatible metadata to Load Tester 5.4.
DynaTrace support is a premium feature sold separately from Load Tester PRO or our other offerings, but you … Continue reading »
Many of our customers want to run tests off-hours to minimize collateral inconveniences. For example, if the rest of your QA team is working on the same test server as you, it might behoove you to run a load test at 2:00 AM when the team is asleep. Load Tester has had the ability to schedule off-hours tests for years, but the feature remains a frequently asked question among potential testers.
In Load Tester 5.4’s streamlined user interface, you can schedule a test from the ‘Control’ menu by choosing “Schedule Load Test.” A “Scheduled Operation” dialog will appear, and you can … Continue reading »
Leading up to the release of Load Tester 5.0, the Web Performance development team focused heavily on improving our capability to run massive load tests. Today, Load Tester 5.0 is specifically engineered to deliver as many as 1 million virtual users while controlling 500 remote load engines.
This is a “how to” article for Load Tester 5.0 users wanting to run their own massive load tests.
Before you Start
There are a few things you absolutely need. First and foremost is a modern workstation for the controller. By modern, I mean a 64-bit architecture with at least 7 GB of working memory. … Continue reading »
In Load Tester 4.2 we added a new fields view with vastly expanded options to configure each field. In Load Tester 4.3 we added support for JSON as well as ad-hoc custom regular expression and name-value delimited parsers. In Load Tester 5, we are adding support for XML automation. Hierarchical XML data structures that appear in form fields or as HTTP POST content will appear in the fields view, and Load Tester’s application state management (ASM) tool will automatically assign any XML value or attribute for which it can identify an appropriate data source.
Each XML field will be named after … Continue reading »
One of the key capabilities of Web Performance Load Tester is the page grouper. This is one of those systems for which, the fewer people notice it, the better it is performing. Essentially the page grouper takes a long list of HTTP transactions in a test case and organizes them, using timing, and/or content and referrer analysis, into a series of logical pages.
If we do this well, we assume that the list of pages we see in a test script after a recording are the same as the logical pages an end user would witness in a browser — each … Continue reading »