Comments (5)
This looks correct, as your application cannot likely perform more than 21RPS.
from autocannon.
No, you'd need to use a different tool to perform a stress test. apache2 is great in that regard.
from autocannon.
Thanks for reporting!
Can you provide steps to reproduce? We often need a reproducible example, e.g. some code that allows someone else to recreate your problem by just copying and pasting it. If it involves more than a couple of different file, create a new repository on GitHub and add a link to that.
from autocannon.
I was able to reproduce similar behavior on dummy nodejs app: https://github.com/pawelgur/nodejs-load-test (please see readme for setup instructions).
Autocannon results for this app on my machine (based on autocannon output):
npx autocannon -R 15 -c 15 -d 30 http://localhost:3000/test --renderStatusCodes
: resulted in 15RPS as expectednpx autocannon -R 20 -c 20 -d 30 http://localhost:3000/test --renderStatusCodes
: ~19 RPS (vs 20 expected)npx autocannon -R 25 -c 25 -d 30 http://localhost:3000/test --renderStatusCodes
: ~21 RPS (vs 25 expected)npx autocannon -R 30 -c 30 -d 30 http://localhost:3000/test --renderStatusCodes
21RPS (vs 30 expected)
I confirmed on application side that autocannon does not send enough requests. When using amount instead of duration, test runs longer but RPS still stays at similar level, e.g.:
npx autocannon -R 30 -c 30 -a 900 http://localhost:3000/test --renderStatusCodes
also results in 20RPS
Note: max RPS when this problem occurs likely depends on specific machine, might need higher -R
and -c
values.
Running on Windows 10, node v16.17.0, I7
from autocannon.
Is it possible to "force" autocannon to generate specific RPS count regardless if application can handle it or not?
from autocannon.
Related Issues (20)
- Feature: adding the whole response to verifyBody callback HOT 1
- Cannot make setupRequest function async HOT 1
- headers format HOT 1
- Cannot specify body for `PUT` request via CLI HOT 2
- Plans to update `@types/autocannon`? HOT 1
- Result shows 0 data HOT 3
- Traefik ignores autocannon when setting Host header HOT 1
- Icon without text HOT 1
- Can't print results with printResults HOT 1
- How to use aggregateResult?
- cURL parameter compatibility HOT 5
- External script or websocket support HOT 1
- 7.15.0 not published to npm HOT 1
- Is there a way to generate a url for each request? HOT 3
- How to set 'keepalive' ? HOT 1
- Non-http usage? For CLI? HOT 1
- status code option HOT 5
- Arg parsing fails if URL ends with `]` HOT 15
- Investigate and fix failing test on windows with node 20
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autocannon.