All Projects → BretFisher → Sysbench Docker Hpe

BretFisher / Sysbench Docker Hpe

Licence: mit
Sysbench Dockerfiles and Scripts for VM and Container benchmarking MySQL

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Sysbench Docker Hpe

Gatling Dubbo
A gatling plugin for running load tests on Apache Dubbo(https://github.com/apache/incubator-dubbo) and other java ecosystem.
Stars: ✭ 131 (+835.71%)
Mutual labels:  performance, benchmark, benchmarking, performance-testing
Web Tooling Benchmark
JavaScript benchmark for common web developer workloads
Stars: ✭ 290 (+1971.43%)
Mutual labels:  performance, benchmark, benchmarking, performance-testing
Ezfio
Simple NVME/SAS/SATA SSD test framework for Linux and Windows
Stars: ✭ 91 (+550%)
Mutual labels:  performance, benchmark, benchmarking
Phoronix Test Suite
The Phoronix Test Suite open-source, cross-platform automated testing/benchmarking software.
Stars: ✭ 1,339 (+9464.29%)
Mutual labels:  performance, benchmark, benchmarking
Boomer
A better load generator for locust, written in golang.
Stars: ✭ 734 (+5142.86%)
Mutual labels:  performance, benchmark, performance-testing
Jsperf.com
jsperf.com v2. https://github.com/h5bp/lazyweb-requests/issues/174
Stars: ✭ 1,178 (+8314.29%)
Mutual labels:  performance, benchmark, benchmarking
Karma Benchmark
A Karma plugin to run Benchmark.js over multiple browsers with CI compatible output.
Stars: ✭ 88 (+528.57%)
Mutual labels:  performance, benchmark, benchmarking
Pytest Benchmark
py.test fixture for benchmarking code
Stars: ✭ 730 (+5114.29%)
Mutual labels:  performance, benchmark, benchmarking
Phpbench
PHP Benchmarking framework
Stars: ✭ 1,235 (+8721.43%)
Mutual labels:  performance, benchmarking, performance-testing
Tsung
Tsung is a high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc.
Stars: ✭ 2,185 (+15507.14%)
Mutual labels:  mysql, benchmark, benchmarking
Are We Fast Yet
Are We Fast Yet? Comparing Language Implementations with Objects, Closures, and Arrays
Stars: ✭ 161 (+1050%)
Mutual labels:  performance, benchmark, benchmarking
Benchmarkdotnet
Powerful .NET library for benchmarking
Stars: ✭ 7,138 (+50885.71%)
Mutual labels:  performance, benchmark, benchmarking
Sltbench
C++ benchmark tool. Practical, stable and fast performance testing framework.
Stars: ✭ 137 (+878.57%)
Mutual labels:  performance, benchmark, benchmarking
best
🏆 Delightful Benchmarking & Performance Testing
Stars: ✭ 73 (+421.43%)
Mutual labels:  benchmarking, benchmark, performance-testing
Bench Scripts
A compilation of Linux server benchmarking scripts.
Stars: ✭ 873 (+6135.71%)
Mutual labels:  performance, benchmark, benchmarking
Laravel Binary Uuid
Optimised binary UUIDs in Laravel
Stars: ✭ 523 (+3635.71%)
Mutual labels:  mysql, performance
Inspectit
inspectIT is the leading Open Source APM (Application Performance Management) tool for analyzing your Java (EE) applications.
Stars: ✭ 513 (+3564.29%)
Mutual labels:  performance, performance-testing
Youku Sdk Tool Woodpecker
In-app-debug tool for iOS
Stars: ✭ 600 (+4185.71%)
Mutual labels:  performance, performance-testing
Fastexpressioncompiler
Fast ExpressionTree compiler to delegate
Stars: ✭ 631 (+4407.14%)
Mutual labels:  performance, benchmark
Nbench
Performance benchmarking and testing framework for .NET applications 📈
Stars: ✭ 495 (+3435.71%)
Mutual labels:  performance, benchmark

Sysbench and Docker Setups to Benchmark Physical, Virtual, and Container-based MySQL

This repository containers scripts, Dockerfiles, and configs that were used for the Hewlett Packard Enterprise (HPE) and Docker Inc. reference architecture paper "HPE and Docker Reference Configuration for infrastructure optimization using Docker containers on HPE infrastructure" from early 2017.

You can use the files in each Scenario below to re-create our benchmarks of MySQL being used by Sysbench to get a TPS (Transactions Per Second) out of each Scenario.

The main goal of these reference files is to help you benchmark MySQL and other workloads in your environment as you move from virtual machines to containers-in-vm's and eventually containers-on-bare-metal, and ensure you're seeing the performance improvements you'd expect.

Docker Hub repo is bretfisher/sysbench-docker-hpe

Versions Tested With

  • RHEL 7.2
  • Docker 1.12
  • MySQL 5.7
  • Sysbench master branch 1/2017

Scenario 1: Installing MySQL on multiple RHEL 7.2 Virtual Machines

  • Use /rhel/sysbench_install.sh to do a scripted install of MySQL and Sysbench on RHEL
  • Use /rhel/sysbench.sh to run the sysbench workload 5 times on a instance
  • Use /rhel/test8.sh as an example of how you could use tmux to run sysbench workloads across 8 VM's at once

Scenario 2: Using multiple official MySQL Docker images on a single virtual machine

  • Use /docker/Dockefile and /docker/build.sh to build a image with MySQL, Sysbench, and scripts installed
  • Or download my image with default values by docker pull bretfisher/sysbench-docker-hpe then docker tag bretfisher/sysbench-docker-hpe sysbench to give it a friendly name to work with in rest of these scripts
  • Use /docker/run8.sh to start 8 containers and build test db's in each one
  • Use /docker/test8.sh to start sysbench workloads across 8 containers (detached)
  • Use /docker/results.sh to grep transaction results from 8 containers
  • Use /docker/tmuxtest8.sh as an examples of how you could use tmux to run sysbench workloads across 8 containers at once

Scenario 3: Using multiple official MySQL Docker images on a single bare metal host

  • Use the same process as in Scenario 2

Saving Time

  • You can save time by pulling my bretfisher/sysbench-docker-hpe image rather then building your own (if my defaults work for you)
  • As you're doing this you'll start to notice significant time used to run run8.sh as the sysbench will be creating sample data for each container. If you're not benchmarking the actual sample data creation (I don't) then you can save time by creating a single container with the sample data, then using docker commit to save it (and db's) to a new image, and then run your test8.sh from there. Doing this way requires editing the scripts a bit and also means you'll need to store db's in your containers, which may not work if you're wanting to test storage that's using Docker Volumes or Bind Mounts.

Getting help

Add issues to this repo if you have questions or bugs.

License

MIT License

Copyright (c) 2017 Bret Fisher [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].