npm install bigbench
|44||downloads in the last month|
|Version||0.0.22 last updated 9 months ago|
|Dependencies (10)||jake, redis, express, socket.io, socket.io-client, supertest, assert, should, docco, mocha|
bigbench.js is a distributed load-generation framework for web application benchmarking that collects data in real-time.
Visit bigbench.io for more information and documentation.
The load is generated by a bot network. Multiple bots can be started on a single or multiple machines. This allows the generation of an almost unlimited amount of requests. A ramp-up time allows the bots to start gradually over the specified time period.
The concurrency is controlled by two things: A concurrency parameter and the amount of bots. A concurrency parameter setting of 2 means that each bot starts 2 requests at the same time, waits for the to return and then continues with the next action.
An action is a URL the benchmark requests. Each benchmark can have a single or multiple actions where the actions are defined by the url, the request path, the HTTP method and the parameters. The parameters can either be a fixed value object or a function that generates dynamic parameters for each request.
The benchmark is fully controlled from a single instance, e.g. the localhost. All bots report their data live to a shared Redis database which means that the current requests per second and average request duration is always up-to-date.
We created BigBench because we were not satisfied with the usability and features of jMeter and ApacheBench. Our approach is to make it easy to use but with a maximum of performance.
To test start the following components:
redis-server --port 6380 node helpers/test_server.js node helpers/test_proxy.js jake test
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request