{"id":25863168,"url":"https://github.com/matheuseabra/l0ad","last_synced_at":"2026-06-23T03:31:49.840Z","repository":{"id":114685122,"uuid":"192204335","full_name":"matheuseabra/L0ad","owner":"matheuseabra","description":"L0ad is a simple toolkit for Load Testing HTTP servers 🏋","archived":false,"fork":false,"pushed_at":"2019-06-16T21:42:56.000Z","size":43,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-10T12:35:19.773Z","etag":null,"topics":["apachebench","bash","charts","gnuplot","load-testing","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matheuseabra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-16T15:02:44.000Z","updated_at":"2020-07-10T18:19:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"9fe47d1a-3499-4866-8dbb-12bb98afa2a3","html_url":"https://github.com/matheuseabra/L0ad","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/matheuseabra/L0ad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheuseabra%2FL0ad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheuseabra%2FL0ad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheuseabra%2FL0ad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheuseabra%2FL0ad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matheuseabra","download_url":"https://codeload.github.com/matheuseabra/L0ad/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheuseabra%2FL0ad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34674702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["apachebench","bash","charts","gnuplot","load-testing","shell"],"created_at":"2025-03-01T23:59:05.070Z","updated_at":"2026-06-23T03:31:49.835Z","avatar_url":"https://github.com/matheuseabra.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# L0ad 🏋\n\nL0ad is a simple toolkit for Load Testing HTTP servers. It uses Bash for scripting, Apache ab for benchmarking, CSV for data serialization and Gnuplot for plotting bar benchmarked data on bar charts. \n\n**Tip:** take a look at the `/samples` folder to see a sample load test result and its reports.\n\n## Quickstart\n\n### Pre-requisites\n\nIn order to L0ad work properly you need to have the following tools setup on your machine:\n\n- Git Bash\n- Apache ab - version 2.4\n- Gnuplot - version 5.2\n\n### Clone the repository\n\n```\n    git clone https://github.com/matheuseabra/L0ad.git\n    cd ./L0ad\n```\n\n### Usage\n\nUnder the `./bin` directory, run: \n\n```\n$ ./load \u003crequests\u003e \u003cconcurrency\u003e http[s]:/hostname[:port]/path\n```\n\n### Examples \n\nSimulate 100 network requests sent by 10 different concurrent users:\n\n```\n$ ./load 100 10 https://www.nytimes.com/\n\nBechmarking https://www.nytimes.com/\n\nThis might take a while...\n```\n\nSimulate 100 network requests sent by 150 different concurrent users:\n\n```\n$ ./load 100 150 https://www.nytimes.com/\n\nBechmarking https://www.nytimes.com/\n\nThis might take a while...\n```\n\nSimulate 2700 network requests sent by 90 different concurrent users:\n\n```\n$ ./load 2700 90 https://www.youtube.com/feed/trending\n\nBechmarking https://www.youtube.com/feed/trending\n\nThis might take a while...\n```\n\n**Obs:** Go easy with the number of requests and concurrency as it might make the host address to timeout. Start with low values, then slowly increase them and observe its results.\n\n### Parameters\n\nParameter | Description\n--- | ---\nRequests | Number of requests to perform for the benchmarking session.\nConcurrency | Number of multiple requests to perform at a time.\nHost Address | Host Address URL used for ApacheBench. (It accepts ports and enpoints).\n\n### Metrics\n\nCurrently, four metrics are being benchmarked:\n\n1. Average number of requests (sec)\n2. Average time per request (ms)\n3. Average time per concurrent request (ms)\n4. Transfer Rate (Kbytes/sec)\n\n**Obs:** L0ad iterates 100 times for each metric so that it has a baseline for realistic traffic simuation. (This might be refactored soon).\n\n### Dependencies\n\n- Git Bash\n- Apache ab - Apache HTTP server benchmarking tool\n- CSV\n- Gnuplot\n\n### Roadmap\n\n0. DRYer script reuse \n1. Isolate metrics tested into separate scripts\n2. Generate benchmark reports dynamically\n3. Support for more AB parameters\n4. Support for more gnuplot charts\n\n### Contributing / Feedback\n\nContributions and feedback are welcomed. \n\nThe project is still in its early stage and there's a lot of room for improvement. If you find one or just have any idea on how to make this tools better, please open an issue.\n\n### License\n\nThis project is licensed under the **GNU GPLv3** license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheuseabra%2Fl0ad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatheuseabra%2Fl0ad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheuseabra%2Fl0ad/lists"}