Skip to content

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.

Notifications You must be signed in to change notification settings

goto-eof/oh_telemetry_collector_load_test

Repository files navigation

🎯 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
    • 💻 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
    • 💻 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
    • 💻 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

npm install

🎯 Run artillery for rust API and generate reports

npm run rust

🎯 Run artillery for java API and generate reports

npm run java

🎯 Run artillery for typescript API and generate reports

npm run js

🎯 Run artillery (sequentially) for all of them and generate reports

npm run java && npm run rust && npm run js

or

npm run all

or for a loan test with a constant number of virtual users

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.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages