https://github.com/goto-eof/oh_telemetry_collector_load_test
This project is intended for testing the workload performance of oh_telemetry_collector_server_rust, oh_telemetry_collector_server_java and oh_telemetry_collector_server_ts.
https://github.com/goto-eof/oh_telemetry_collector_load_test
artillery java javascript loan loan-test rust test typescript workload
Last synced: 3 months ago
JSON representation
This project is intended for testing the workload performance of oh_telemetry_collector_server_rust, oh_telemetry_collector_server_java and oh_telemetry_collector_server_ts.
- Host: GitHub
- URL: https://github.com/goto-eof/oh_telemetry_collector_load_test
- Owner: goto-eof
- Created: 2022-12-04T19:42:52.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-12-14T19:02:04.000Z (over 2 years ago)
- Last Synced: 2024-12-30T03:44:10.464Z (5 months ago)
- Topics: artillery, java, javascript, loan, loan-test, rust, test, typescript, workload
- Language: HTML
- Homepage:
- Size: 813 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### 🎯 OH Telemetry Collector loan test
OH telemetry collector loan test was developed for testing the applications workload. So that we can make a comparison between the POC in Java, Rust and TypeScript.
The applications are the following:
- [oh_telemetry_collector_server_rust](https://github.com/goto-eof/oh_telemetry_collector_server_rust)
- 💻 Technologies: Rust, Warp, Sea-ORM, Postgres
- 🚎 Rust server responds on: `http://127.0.0.1:8017`
- 🗄️ DB: `localhost:5437/postgres`
- [oh_telemetry_collector_server_java](https://github.com/goto-eof/oh_telemetry_collector_server_java)
- 💻 Technologies: Java, Spring Boot, Hibernate, Postgres
- 🚎 Java server responds on: `http://127.0.0.1:8013`
- 🗄️ DB: `localhost:5433/postgres`
- [oh_telemetry_collector_server_ts](https://github.com/goto-eof/oh_telemetry_collector_server_ts)
- 💻 Technologies: Typescript, Express, TypeORM, Postgres
- 🚎 JS server responds on: `http://127.0.0.1:8019`
- 🗄️ DB: `localhost:5439/postgres`Remember first to run all three docker containers: docker-compose up and remember to truncate the `telemetry` table before test rerun.
The test result is under the `reports-html` directory.
A meangfull value is the P95 percentile. It means that 95% of all our request had a response time equal or less than the value in the report. So that less is better.
#### 🎯 Install packages
```bash
npm install
```#### 🎯 Run artillery for rust API and generate reports
```bash
npm run rust
```#### 🎯 Run artillery for java API and generate reports
```bash
npm run java
```#### 🎯 Run artillery for typescript API and generate reports
```bash
npm run js
```#### 🎯 Run artillery (sequentially) for all of them and generate reports
```bash
npm run java && npm run rust && npm run js
```or
```bash
npm run all
```or for a loan test with a constant number of virtual users
```bash
npm run kall
```### 🎯 Moreover
If you have a mac and the java loan test does not work, it could be that the Dockers VM has not enought space for the application container, so that change settings of VM.
Reports were generated on a Linux machine.
if any problems arise, feel free to [contact me](https://andre-i.dev/#contactme).