https://github.com/anik16298/restful-booking-api-performance-testing-using-jmeter
This repository features a 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 for CI/CD integration and maintaining reliability in production environments.
https://github.com/anik16298/restful-booking-api-performance-testing-using-jmeter
csv html-report http-header-parser jmeter-tests jmx json-extractor load-testing performance-testing report
Last synced: 9 months ago
JSON representation
This repository features a 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 for CI/CD integration and maintaining reliability in production environments.
- Host: GitHub
- URL: https://github.com/anik16298/restful-booking-api-performance-testing-using-jmeter
- Owner: Anik16298
- Created: 2024-12-17T17:34:23.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-18T09:23:13.000Z (about 1 year ago)
- Last Synced: 2025-02-12T10:37:19.107Z (11 months ago)
- Topics: csv, html-report, http-header-parser, jmeter-tests, jmx, json-extractor, load-testing, performance-testing, report
- Language: HTML
- Homepage: https://restful-booker.herokuapp.com/apidoc/index.html
- Size: 3.29 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rest-Booking-API-Performance-Testing-Using-JMeter
This project demonstrates Performance Testing using JMeter, providing a collection of tests to validate various endpoints of the API.
## Features
* Tests for GET, POST, PUT, DELETE requests
* Collection of tests covering different API endpoints
## Technology used:
- JMeter
## Overview
This repository contains a JMeter project for performance testing of the [Restful-Booker](https://restful-booker.herokuapp.com/apidoc/index.html) Website.
## Usage
1. Clone the repository to your Local Machine From:
````
https://github.com/Anik16298/Restful-booking-api-performance-testing-using-jmeter
````
2. Open JMeter and load the test plan.
3. Configure the necessary settings and parameters in the test plan.
4. Run all Test plan.
## Run in CMD (Non GUI mode) on your project folder
1. To run the test plan through CMD (Non GUI mode), use the following command:
````
jmeter -n -t Test_100.jmx -l report\Test_100.jtl
````
This command runs JMeter in non-GUI mode (-n), specifies the test plan file (-t), and writes the results to a JTL file (-l).
2. To run the test plan through CMD (GUI mode), use the following command:
````
jmeter -g report\Test_100.jtl -o report\Test_100.html
````
This command runs JMeter in GUI mode (-g), making report to htl file (-l), and writes the report results to a html file (-l).
## Testing
The sample test plan includes the following components:
1. Thread Group:
* Thread Count: 10
* Ramp-Up Time: 10 second
* Explanation:
* Thread Count: Represents the number of virtual users (threads) executing the test concurrently.
* Ramp-Up Time: Represents the time taken for all threads to start executing.
2. HTTP Proxy Server:
* Used for recording the script of sample pages.
3. Logic Controllers:
* Loop Controllers:-
* Loop Count: 01
4. Config Eelements:
* http header manager
* json extractor
5. Listeners:
* view result trees
* summary report
* aggrigate report
6. Save and Run the test plan
7. Execution:
* Run all the test plan sequentially
* you can start your execution with 100 thread group until error rate is 1.0%
8. Point to explore:
* Running through CMD (Non GUI mode).
* Running through CMD (GUI mode) for generating html report.
## Report
1. 2000 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 200 And Total Concurrent API requested: 12000.

2. 2500 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 121 And Total Concurrent API requested: 15000.

3. 2600 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 260 And Total Concurrent API requested: 15600.

4. 2700 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 217 And Total Concurrent API requested: 16200.

5. 2800 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 195 And Total Concurrent API requested: 16800.

6. 2900 Concurrent Request with 01 Loop Count; Avg TPS for Total Samples is ~ 157 And Total Concurrent API requested: 17400.

### While executed 2900 concurrent request, found 3160 request got connection timeout and error rate is 18.16%.
### Summary: Server can handle almost concurrent 16800 API call with zero (0) error rate.