Giter Club home page Giter Club logo

edb-benchmarks's Introduction

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

edb-benchmarks's People

Contributors

bryan-bar avatar dougortiz avatar hannahms avatar jt-edb avatar julmon avatar mw2q avatar rdimag avatar vibhorkumar123 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.