{"id":21404953,"url":"https://github.com/rahulchandradasrcd/rest-booking-api-performance-testing-using-jmeter","last_synced_at":"2026-01-02T17:48:57.488Z","repository":{"id":260138163,"uuid":"880411871","full_name":"rahulchandradasrcd/rest-booking-api-performance-testing-using-jmeter","owner":"rahulchandradasrcd","description":"This repository features a robust performance testing suite for the Restful Booker API using Apache JMeter. It simulates real-world traffic to evaluate scalability, response times, and throughput, ensuring optimal performance. Ideal for CI/CD integration, it helps maintain high reliability and speed in production environments.","archived":false,"fork":false,"pushed_at":"2024-10-30T10:26:20.000Z","size":5310,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-23T03:41:34.454Z","etag":null,"topics":["csv","http-header-parser","jmeter","jmx","json-extractor","load-testing","performance-testing","report"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/rahulchandradasrcd.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-29T17:16:06.000Z","updated_at":"2024-10-30T11:36:23.000Z","dependencies_parsed_at":"2025-01-23T03:41:10.994Z","dependency_job_id":"73a1f996-98d1-41bf-9d14-3db227cd3284","html_url":"https://github.com/rahulchandradasrcd/rest-booking-api-performance-testing-using-jmeter","commit_stats":null,"previous_names":["rahulchandradasrcd/rest-booking-api-performance-testing-using-jmeter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulchandradasrcd%2Frest-booking-api-performance-testing-using-jmeter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulchandradasrcd%2Frest-booking-api-performance-testing-using-jmeter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulchandradasrcd%2Frest-booking-api-performance-testing-using-jmeter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulchandradasrcd%2Frest-booking-api-performance-testing-using-jmeter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rahulchandradasrcd","download_url":"https://codeload.github.com/rahulchandradasrcd/rest-booking-api-performance-testing-using-jmeter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243902290,"owners_count":20366259,"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":["csv","http-header-parser","jmeter","jmx","json-extractor","load-testing","performance-testing","report"],"created_at":"2024-11-22T16:19:41.991Z","updated_at":"2026-01-02T17:48:57.453Z","avatar_url":"https://github.com/rahulchandradasrcd.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rest-Booking-API-Performance-Testing-Using-JMeter\nThis project demonstrates Performance Testing using JMeter, providing a collection of tests to validate various endpoints of the API.\n\n## Features\n* Tests for GET, POST, PUT, DELETE requests\n* Collection of tests covering different API endpoints\n\n## Technology used:\n- JMeter\n\n## Overview\nThis repository contains a JMeter project for performance testing of the [Restful-Booker](https://restful-booker.herokuapp.com/apidoc/index.html) Website.\n\n## Usage\n1. Clone the repository to your Local Machine From:\n````\nhttps://github.com/rahulchandradasrcd/rest-booking-api-performance-testing-using-jmeter.git\n````\n2. Open JMeter and load the test plan.\n3. Configure the necessary settings and parameters in the test plan.\n4. Run all Test plan.\n\n## Run in CMD (Non GUI mode) on your project folder\n1. To run the test plan through CMD (Non GUI mode), use the following command:\n    ````\n    jmeter -n -t Test_100.jmx -l report\\Test_100.jtl\n    ````\nThis command runs JMeter in non-GUI mode (-n), specifies the test plan file (-t), and writes the results to a JTL file (-l).\n\n2. To run the test plan through CMD (GUI mode), use the following command:\n    ````\n    jmeter -g report\\Test_100.jtl -o report\\Test_100.html\n    ````\nThis command runs JMeter in GUI mode (-g), making report to htl file (-l), and writes the report results to a html file (-l).\n\n## Testing\nThe sample test plan includes the following components:\n1. Thread Group:\n    * Thread Count: 10\n    * Ramp-Up Time: 10 second\n    * Explanation:\n       * Thread Count: Represents the number of virtual users (threads) executing the test concurrently.\n       * Ramp-Up Time: Represents the time taken for all threads to start executing.\n2. HTTP Proxy Server:\n    * Used for recording the script of sample pages.\n3. Logic Controllers:\n    * Loop Controllers:-\n       * Loop Count: 01\n4. Config Eelements:\n    * http header manager\n    * json extractor\n5. Listeners:\n    * view result trees\n    * summary report\n    * aggrigate report\n6. Save and Run the test plan\n7. Execution:\n    * Run all the test plan sequentially\n    * you can start your execution with 100 thread group until error rate is 1.0%\n8. Point to explore:\n    * Running through CMD (Non GUI mode).\n    * Running through CMD (GUI mode) for generating html report.\n## Report \n1. 2000 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 200 And Total Concurrent API requested: 12000.\n       ![2000](https://github.com/user-attachments/assets/1c45d7b5-fdfb-422a-a025-4d5fcb03fafa)\n2. 2500 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 121 And Total Concurrent API requested: 15000.\n       ![2500](https://github.com/user-attachments/assets/38330642-497a-41f1-8bb9-ef833760589c)\n3. 2600 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 260 And Total Concurrent API requested: 15600.\n       ![2600](https://github.com/user-attachments/assets/f9953858-541e-499c-b666-0bbf24f54099)\n4. 2700 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 217 And Total Concurrent API requested: 16200.\n       ![2700a](https://github.com/user-attachments/assets/2e122aa8-25fe-4fa9-8109-fd2b1990c38e)\n5. 2800 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 195 And Total Concurrent API requested: 16800.\n       ![2800](https://github.com/user-attachments/assets/d307d2c4-7202-445c-b8d3-4da3aecc017a)\n6. 2900 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 157 And Total Concurrent API requested: 17400.\n       ![2900](https://github.com/user-attachments/assets/e34a8694-0a18-440d-8b1a-3e839532ff65)\n### While executed 2900 concurrent request, found  3160 request got connection timeout and error rate is 18.16%. \n### Summary: Server can handle almost concurrent 16900 API call with almost zero (0) error rate.\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulchandradasrcd%2Frest-booking-api-performance-testing-using-jmeter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frahulchandradasrcd%2Frest-booking-api-performance-testing-using-jmeter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulchandradasrcd%2Frest-booking-api-performance-testing-using-jmeter/lists"}