Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/http2benchmark/http2benchmark
https://github.com/http2benchmark/http2benchmark
Last synced: 14 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/http2benchmark/http2benchmark
- Owner: http2benchmark
- Created: 2019-07-08T05:10:23.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-03T08:08:52.000Z (about 4 years ago)
- Last Synced: 2024-08-01T19:44:01.981Z (3 months ago)
- Language: Shell
- Size: 248 KB
- Stars: 25
- Watchers: 3
- Forks: 11
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HTTP2Benchmark
[](https://en.wikipedia.org/wiki/Bash_(Unix_shell))# 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 -
```bash
yum install git
```For Debian/Ubuntu Based Systems -
```bash
apt install git
```## Server Install
``` bash
git clone https://github.com/http2benchmark/http2benchmark.git
```
``` bash
http2benchmark/setup/server/server.sh
```## Client Server Install
``` bash
git clone https://github.com/http2benchmark/http2benchmark.git
```
``` bash
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:
``` bash
Please input target server IP to continue: [Test Server IP]
```
``` bash
Please add the following key to ~/.ssh/authorized_keys on the Test server
ssh-rsa .................................................................
.........................................................................
.. root@xxx-client
```
``` bash
Once complete, click ANY key to continue:
```## How to test
Run the following commands on the Client Server -
``` bash
/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](https://github.com/http2benchmark/http2benchmark/blob/master/http3/README.md) if you want to run benchmarking in [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) protocol.
- Check [HERE](https://github.com/http2benchmark/http2benchmark/blob/master/modsec/README.md) if you want to run benchmarking with [modsecurity](https://en.wikipedia.org/wiki/ModSecurity) enabled.# Problems/Suggestions/Feedback/Contribution
Please raise an issue on the repository, or send a PR for contributing.