Categorygithub.com/memsql/dbbench
modulepackage
0.4.0
Repository: https://github.com/memsql/dbbench.git
Documentation: pkg.go.dev

# README

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.10. 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 get github.com/memsql/dbbench

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.

# Functions

No description provided by the author
* Modified from the author's original bc code by Alex Reece * ([email protected]) on Jul 2, 2015.

# Variables

No description provided by the author
No description provided by the author

# Structs

No description provided by the author
* The user specified parameters for connecting to a database.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
* Use Welfords Method to compute variance in a stream.
No description provided by the author

# Interfaces

* An instance of a query-able database; for example, a sql.DB.
* An abstract flavor of a database; for example, "postgres" or "mysql".

# Type aliases

Go's map can only handle comparable types as a key.
No description provided by the author