Skip to content
This repository has been archived by the owner on Dec 5, 2023. It is now read-only.

bryan-bar/edb-benchmarks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to the edb-benchmarks repository!

This repository contains workflows for benchmarks that have been previously developed and are ready for execution.

Getting Started

Benchmarks can be executed through a dedicated Python virtual environment.

Components needed by host:

  • terraform >= 1.3.6
  • edb-terraform >= 1.5.1
  • AWSCli
  • ansible-core
  • edb-ansible
  • tpaexec

Benchmark folder structure:

Each benchmark should follow the directory structure listed below with a numeric prefix and a step name:

  • 00_validate - Validates the parameters selected for the benchmark execution. If the validation fails, the entire benchmark fails.
  • 01_provision - Provisions the infrastructure required for executing the benchmark
  • 02_deploy - Sets up and configures the provisioned infrastructure
  • 03_prepare - Prepares and sets up the benchmark execution
  • 04_execute - Executes the benchmark
  • 05_push_results - Uploads the results from the benchmark into AWS S3 Bucket
  • 06_unprovision - Destroys the previously provisioned infrastructure

Each directory contains a run.sh script file that executes the ansible playbooks required for the benchmark

Executing a benchmark by hand

Clone the repo to a local machine.

$ git clone https://github.com/EnterpriseDB/edb-benchmarks.git

From the terminal, set environment variables required by the cloud service provider.

If desired, make changes to the type or size of the database by editing the environment file: environment.sh.

Source the environment file.

source <benchmark-directory>/environment.sh

Execute <benchmark-directory>/00_validate/run.sh

Execute <benchmark-directory>/01_provision/run.sh

Wait for the 'Apply Complete' success message.

Execute <benchmark-directory>/02_deploy/run.sh

If desired, export additional environment variables manually.

Execute <benchmark-directory>/03_prepare/run.sh

Execute <benchmark-directory>/04_provision/run.sh

When ready to terminate the instance, execute <benchmark-directory>/06_unprovision/run.sh

Contributing:

We welcome contributions! If you have benchmarks that you would like to share follow the steps below:

  • Simply fork this repository
  • Add your benchmarks
  • Submit a pull request.

Please ensure that the code is well-documented and follows our Guidelines below.

Guidelines:

When submitting benchmarks, please follow these guidelines:

  • Use clear and concise names for the benchmark files and directories
  • Include a README.md file in the main directory. The file content should explain:
    • What the benchmark does
    • How to run it
    • Relevant details related to the benchmark
    • Make sure that the benchmarks are reproducible

License

The license is available here

About

Benchmark execution scripts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 54.8%
  • Jinja 25.0%
  • Python 13.4%
  • Tcl 6.8%