gitmyhub

artillery

JavaScript ★ 9.0k updated 5d ago

The complete load testing platform. Everything you need for production-grade load tests. Serverless & distributed. Load test with Playwright. Load test HTTP APIs, GraphQL, WebSocket, and more. Use any Node.js module.

A load testing tool that simulates hundreds or thousands of users hitting your website or API at once so you can find performance problems before real traffic does.

JavaScriptNode.jsPlaywrightAWS LambdaAWS Fargatesetup: moderatecomplexity 3/5

Artillery is a tool for load testing, which means it simulates many users hitting your website, API, or application at the same time to see how the system holds up under pressure. Developers and engineering teams use it before launching a new product or after making major changes, to find out whether the servers will stay responsive when real traffic arrives.

You describe a test scenario in a configuration file, specifying things like the sequence of requests to make, how many simulated users to ramp up to, and over what time period. Artillery then runs those scenarios and produces a report showing response times, error rates, and throughput. It supports a variety of protocols beyond standard web requests, including WebSocket (used for real-time features like chat), gRPC (a format common in backend services), and others.

One notable feature is that tests can run on real web browsers rather than just simulating raw network requests. This is done through integration with Playwright, a browser automation tool, which lets you test the full experience a user would have, including JavaScript-heavy pages that only work correctly inside a browser.

For running tests at large scale, Artillery can distribute the load across many machines on AWS Lambda or AWS Fargate, which are cloud computing services that handle infrastructure automatically. The tool also connects with more than 20 monitoring and continuous integration services.

Most of the code is licensed under MPL 2.0, an open source license. Some Azure-specific parts use a different license that requires a commercial agreement for production use on that platform.

Where it fits