/MicroWise

The framework automates performance testing for microservices, identifying key JVM parameters affecting garbage collection through feature importance detection. It fine-tunes these parameters using TPE-based Bayesian Optimization and assesses performance improvements, resulting in a customized set of optimized GC configurations for the Microservice

Primary LanguagePython

picture

MicroWise

MicroWise is a console based application that, when given the desired optimization and tuning parameter configurations, optimizes the performance of a given JVM-based Microservice. A dashboard is also available to analyse the overview of the optimization process. MicroWise optimizes the underlying JVM parameters that effect GC to obtain a performance gain in the Microservice.

Prerequisites

  • Python 3

How to Use?

step 01: Clone the project

step 02: Install dependencies

cd MicroWise
pip3 install -r requirements.txt

step 03: Navigate into the project's optimizer folder

cd optimizer

step 04: Copy Microservice jar inside this folder

step 05: Execute MicroWise

python3 Optimizehyperopt.py

How to View Results?

The all_results folder inside the optimization folder containes all the result files created during the optimization process. The final optimal JVM parameter configuration that effect GC can be found in the final_parameter_configuration.txt file.

How to Access Dashboard?

At the end of the optimization the url for the dashboard will be given. Simply copy and paste the url into your browser.

Built With