{"id":13492589,"url":"https://github.com/http2benchmark/http2benchmark","last_synced_at":"2025-03-28T10:32:30.196Z","repository":{"id":48141612,"uuid":"195740380","full_name":"http2benchmark/http2benchmark","owner":"http2benchmark","description":null,"archived":false,"fork":false,"pushed_at":"2020-11-03T08:08:52.000Z","size":254,"stargazers_count":25,"open_issues_count":3,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-31T06:35:03.885Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/http2benchmark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-08T05:10:23.000Z","updated_at":"2024-06-14T10:06:56.000Z","dependencies_parsed_at":"2022-08-27T20:52:27.547Z","dependency_job_id":null,"html_url":"https://github.com/http2benchmark/http2benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http2benchmark%2Fhttp2benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http2benchmark%2Fhttp2benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http2benchmark%2Fhttp2benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http2benchmark%2Fhttp2benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http2benchmark","download_url":"https://codeload.github.com/http2benchmark/http2benchmark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246012684,"owners_count":20709494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T19:01:07.333Z","updated_at":"2025-03-28T10:32:29.709Z","avatar_url":"https://github.com/http2benchmark.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# HTTP2Benchmark\n[\u003cimg src=\"https://img.shields.io/badge/Made%20with-BASH-orange.svg\"\u003e](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) \n\n# Preparation \n  - This test requires two servers -   \n            - First one is where requests go(Test Server)   \n            - The second one is where the requests come from (Client Server)\n  - You must have root-level access on both servers.\n  - TCP 22, 80, 443, and 5001 and UDP 443 must be open and accessible on both the servers.\n\n# How to benchmark\n\n## Install Pre-Requisites\nFor CentOS/RHEL Based Systems - \n```bash\nyum install git\n```\n\nFor Debian/Ubuntu Based Systems - \n```bash\napt install git\n```\n\n## Server Install\n``` bash\ngit clone https://github.com/http2benchmark/http2benchmark.git\n```\n``` bash\nhttp2benchmark/setup/server/server.sh\n```\n\n## Client Server Install\n``` bash\ngit clone https://github.com/http2benchmark/http2benchmark.git\n```\n``` bash\nhttp2benchmark/setup/client/client.sh\n```\n\nDuring 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:\n``` bash\nPlease input target server IP to continue: [Test Server IP]\n```\n``` bash\nPlease add the following key to ~/.ssh/authorized_keys on the Test server\nssh-rsa .................................................................\n.........................................................................\n.. root@xxx-client\n```\n``` bash\nOnce complete, click ANY key to continue: \n```\n\n## How to test\nRun the following commands on the Client Server - \n``` bash\n/opt/h2bench/benchmark.sh\n```\n\n## Log \nAfter benchmark testing is complete, an elaborated result is displayed, feel free to share it.\n\nIt also stores the same logs for each test here - `/opt/h2bench/Benchmark/TIME_STAMP/`:\n```\n/opt/h2bench/Benchmark/\n   |_TIME_STAMP.tgz\n   |_TIME_STAMP \n       |_RESULTS.csv\n       |_RESULTS.txt\n       |_apache\n       |_lsws\n       |_nginx\n       |_env\n```\n\n`TIME_STAMP` will be replaced by actual server-time for each test.\n\n## Customization\nFeel 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.\n\n### Add-On\n  - 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. \n  - 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. \n\n# Problems/Suggestions/Feedback/Contribution\nPlease raise an issue on the repository, or send a PR for contributing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttp2benchmark%2Fhttp2benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhttp2benchmark%2Fhttp2benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttp2benchmark%2Fhttp2benchmark/lists"}