Code Monkey home page Code Monkey logo

cirnum / loadtester Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 1.0 69.87 MB

loadtester allows for the distribution of load tests across numerous computers, making it possible to simulate millions of concurrent users.

Home Page: https://perfcheck.up.railway.app

Go 30.68% Shell 0.67% HTML 0.60% CSS 0.15% TypeScript 63.29% JavaScript 4.20% Makefile 0.21% Dockerfile 0.21%
apache-benchmark artillery dashboard load stress-testing stress-testing-admin testing

loadtester's Introduction

Scale Your Load Testing Efforts with Loadtester.

Loadtester is a powerful tool that helps you simulate millions of concurrent users by distributing load tests across multiple computers.

Docs | Demo | Help And Support

Install - ref

npm

sudo npm install loadster -g && loadster

Note: In case of permission issue try it with sudo.

Script for linux and macOs versions

curl -sL https://raw.githubusercontent.com/cirnum/loadtester/main/installer/bash/install-loadtester.sh | sudo bash && loadster

binary

https://docs.perfcheck.com/installation#install-with-shell-script

How to Use

Steps:

  1. Install Loadtester on your local machine or server.
  2. Use the intuitive graphical interface to design your load test scenario.
  3. Configure test settings such as the number of virtual users, test duration, and test environment.
  4. Distribute the load test across multiple machines or servers using the Loadtester controller.
  5. Monitor test results in real time using built-in reporting and analysis tools.
  6. Analyze test results to identify performance bottlenecks and optimize your system for maximum scalability.

Try Loadtester today and discover how it can help you improve the performance and scalability of your application or website.

Create server

Note - because of resource limit (CPU, bandwidth) you can configure

as many servers as you can run the test script across all the servers at the same time.

Possible ENV to pass while running the Binary

Env Name Default Description
WORKER false User can run loadtester as a worker or as a Master node
MASTER_IP empty If the user runs the node as a Worker then the worker node can accept the MASTER_IP env which is the actual master ip

To configure the Server with docker ref

  1. docker run -it -p 3005:3005 --platform linux/amd64 manojown1/loadtester:latest (outer port can be changed according to the need.)

Worker setup with docker image

docker run -it -p ANY_AVAILABLE_PORT:3005 -e WORKER=true -e MASTER_IP="YOUR_MAIN_SERVER_IP" --platform linux/amd64 manojown1/loadtester:latest

Download binary ref

1. `Darwin amd64` - For Mac user
2. `Darwin arm64` - For Mac users (new Mac)
3. `Linux amd64` - Linux arch `amd64` users (64-bit system)
4. `Linux arm64` - Linux arch `arm` users (32-bit system)
5. `windows amd64` - Windows Users

Creating the first request

  1. Click on Request tab on header

  2. Fill out the form

  • Url - stress testing target Url

  • Client - Total client wants to initiate - use 100 to 1000 (depends on your cores and cpu)

  • Time - Till the time you want to run these requests

  • Select Method Get Post whatever your stress url serve

AWS integration (Required Env)

Env Name
AWS_ACCESS_KEY
AWS_SECRET_KEY
AWS_REGION

How can I modify the .env file inside a running Docker container?

docker exec -it CONTAINER_ID_OR_NAME vi .env

Request Page

Screenshot 2023-06-20 at 7 29 03 PM

Request Stats - You can check request stats here

Screenshot 2023-06-20 at 7 30 55 PM

AWS section - Create multiple nodes for distributed testing

Screenshot 2023-06-20 at 7 33 53 PM

Check, enable, and disable the connected nodes from the server section

Screenshot 2023-06-20 at 7 35 34 PM

loadtester's People

Contributors

manojmeesho avatar manojown avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

manojown

loadtester's Issues

Implement Client to run distributed

Feature Information

To run requests distributedly, need a client to run on multiple servers.

Describe the solution you'd like

A client binary can be run on any server and run as a slave and can be connected to the master server.

Additional context

Monitoring instance while doing load testing

Feature Information

Monitoring instances while doing load testing

Describe the solution you'd like

Add a time-based watcher till the request context is running.

Additional context

AWS Integration

Feature Information

For multinode testing, it's hard to initiate the load tester cluster and to solve that need to add an aws option to initiate and link the server automatically.

Describe the solution you'd like

Adding AWS client support so from that panel user can create, and terminate ec2 easily

Additional context

Add cli support

Feature Information

To provide the same feature to load test any rest api can be possible with CLI as well.

Describe the solution you'd like

leverage the same codebase which return in service need to be used in cli module.

Additional context

Cookies implementation missing

Feature Information

Cookies implementation missing.

Describe the solution you'd like

Need to add a cookies tab where users can add edit and update the cookie's value

Additional context

Variable Support

Feature Information

Users can create variables that can be used in any subsequent request

Describe the solution you'd like

Need to create a store that contains all the variable and settings data that can be leveraged as per the future need.

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.