• Stars
    star
    147
  • Rank 251,347 (Top 5 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Database Benchmark Tool

dbbench

Continuous Integration License

dbbench is a fast, lightweight database workload generator that executes a workload defined a flexible configuration file. Using this dbbench, simple 'jobs' can be defined to describe a workload run against a server. Each job represents a single query; by composing multiple jobs together, an arbitrary workload can be described. The jobs are executed against the server and timed to produce aggregated benchmarking information that is emitted periodically and when the test completes. Exact job run data can also be logged for additional offline analysis.

Note that since dbbench is a workload driver, it does not randomly generate queries, tables, data, etc. Any random data generation or setup can be easily done with SQL queries.

Getting started

To install, first install the dependencies (golang-go and git).

sudo apt-get -y install golang
sudo apt-get -y install git

dbbench requires golang version >= 1.13. Check the golang version:

go version

If your distribution comes with an older version of golang or the required version is not included in the repository, download and install a newer version of golang.

If you are installing go for the first time, you will also need to set your GOPATH environment variable and add $GOPATH/bin to your PATH.

mkdir $HOME/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

Once go has been set up, use the go tool to get dbbench.

go install github.com/memsql/dbbench@latest

Running dbbench

To learn how to run dbbench, follow the tutorial.

Author

dbbench is heavily inspired by fio. It was written by Alex Reece [email protected] (Performance Engineer at MemSQL) to enable flexible testing of a database. He got tired of writing specific test applications to simulate a given workload, and found that the existing database benchmark/test tools out there weren't flexible enough to do what he wanted. For more context about the ethos of dbbench, see the blog post that introduced it.

More Repositories

1

singlestore-spark-connector

A connector for MemSQL and Spark
Scala
156
star
2

lockfree-bench

Benchmarks for lockfree datastructures.
C++
118
star
3

workload-simulator

MemSQL Workload Simulator and Dashboard
JavaScript
102
star
4

memsql-docker-quickstart

A docker image for testing MemSQL + MemSQL Ops
Python
64
star
5

memsql-python

This repository holds some python libraries and plugins designed to be used with MemSQL.
Python
62
star
6

memsql-perf-tools

37
star
7

streamliner-starter

Starter project for building MemSQL Streamliner Pipelines
Scala
32
star
8

datafiller

DataFiller - generate random data from database schema
Python
31
star
9

streamliner-examples

Example code for building your own MemSQL Streamliner Pipelines
Scala
23
star
10

bench

MemSQL Benchmark Tools
Python
23
star
11

nyse-demo

Simple NYSE Simulator on MemSQL
Python
19
star
12

deployment-docker

This repository contains our official deployment Docker images for various products.
Shell
15
star
13

pipelines-twitter-demo

Example project which simulates an interesting analytics use case using MemSQL Pipelines.
PLpgSQL
14
star
14

singlestore-kafka-connector

Java
10
star
15

arcanist

clone of facebook arcanist repository
PHP
10
star
16

singlestore-odbc-connector

C
8
star
17

memsql-loader

Deprecated - Check out MemSQL Pipelines instead!
Python
8
star
18

memsql-top

Python
7
star
19

dbt-singlestore

Python
7
star
20

benchmarks-tpc

benchmarks-tpc
6
star
21

tpcc-mysql

Fork of github.com/Percona-Lab/tpcc-mysql
C
6
star
22

memsql-collectd

The official MemSQL Ops collectd plugin.
Python
5
star
23

frodo

Python
4
star
24

memsql-statsd

A statsd plugin for MemSQL Ops
JavaScript
4
star
25

dbbench-tools

Tools for simplifying workloads that use dbbench.
Python
4
star
26

starter_kits

LookML
3
star
27

geo-benchmark

A simple benchmark to help compare performance of MemSQL and Elasticsearch on a Geospatial workload.
Python
3
star
28

upsert-benchmark

This repository contains a simple benchmark to help compare performance of MemSQL and Cassandra on a fast-update workload.
Python
3
star
29

gatsby-source-api

TypeScript
2
star
30

memsql-xgboost

2
star
31

book

Shell
2
star
32

memsql-covid-datasets

This repo contains quick-start scripts for COVID-19 related datasets.
TSQL
2
star
33

eslint-react-hooks-disable-import

JavaScript
2
star
34

ntest

Dependency-injection test helpers for testing with nject. Golang
Go
2
star
35

singlestore-auth-helper

Helper utility for browser-based authentication
Go
2
star
36

hiring

1
star
37

pipelines-meetup-oct-2016

https://www.meetup.com/MemSQL/events/234405914/
Python
1
star
38

datadirect-example

Example of using the Progress DataDirect MySQL Connector with MemSQL
Java
1
star
39

dremio-singlestore

Java
1
star
40

sinfo-workshop

JavaScript
1
star