Coder Social home page Coder Social logo

HTTP2Benchmark

Preparation

  • This test requires two servers -
    - First one is where requests go(Test Server)
    - The second one is where the requests come from (Client Server)
  • You must have root-level access on both servers.
  • TCP 22, 80, 443, and 5001 and UDP 443 must be open and accessible on both the servers.

How to benchmark

Install Pre-Requisites

For CentOS/RHEL Based Systems -

yum install git

For Debian/Ubuntu Based Systems -

apt install git

Server Install

git clone https://github.com/http2benchmark/http2benchmark.git
http2benchmark/setup/server/server.sh

Client Server Install

git clone https://github.com/http2benchmark/http2benchmark.git
http2benchmark/setup/client/client.sh

During installation on the client server, The script will prompt to input [Test Server IP], after which, it will show you a public key [copy the public key to the Test server], and then [click any key] to finish the installation, like so:

Please input target server IP to continue: [Test Server IP]
Please add the following key to ~/.ssh/authorized_keys on the Test server
ssh-rsa .................................................................
.........................................................................
.. root@xxx-client
Once complete, click ANY key to continue: 

How to test

Run the following commands on the Client Server -

/opt/h2bench/benchmark.sh

Log

After benchmark testing is complete, an elaborated result is displayed, feel free to share it.

It also stores the same logs for each test here - /opt/h2bench/Benchmark/TIME_STAMP/:

/opt/h2bench/Benchmark/
   |_TIME_STAMP.tgz
   |_TIME_STAMP 
       |_RESULTS.csv
       |_RESULTS.txt
       |_apache
       |_lsws
       |_nginx
       |_env

TIME_STAMP will be replaced by actual server-time for each test.

Customization

Feel free to play with the script, specially benchmarks.sh to edit options, You can also run bash benchmark.sh -h on client-server to learn more about available options.

Add-On

  • Check HERE if you want to run benchmarking in HTTP/3 protocol.
  • Check HERE if you want to run benchmarking with modsecurity enabled.

Problems/Suggestions/Feedback/Contribution

Please raise an issue on the repository, or send a PR for contributing.

http2benchmark's Projects

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.