Skip to content

dustin/blurr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blurr

blurr is simple and flexible tool for database benchmarking. It's written in Go and supports custom database drivers and workloads.

Dependencies

go get labix.org/v2/mgo

Usage

blurr -path=workloads/workload.conf

Configuration files

blurr uses JSON format for configuration. Example is below:

{
    "Database": {
        "Driver": "MongoDB",
        "Name": "default",
        "Table": "default",
        "Addresses": [
            "10.2.2.1:27017",
            "10.2.2.2:27017",
            "10.2.2.3:27017"
        ]
    },
    "Workload": {
        "Type": "DefaultWorkload",
        "CreatePercentage": 4,
        "ReadPercentage": 60,
        "UpdatePercentage": 12,
        "DeletePercentage": 4,
        "QueryPercentage": 20,
        "Records": 100000,
        "Operations": 100000,
        "ValueSize": 2048,
        "IndexableFields": 9,
        "Workers": 16,
        "TargetThroughput": 2000
    }
}

Configuration includes two groups of parameters:

  • Database.Driver - database driver for benchmark
  • Database.Name - name of database
  • Database.Table - name of table, collection, bucket and etc.
  • Database.Addresses - list of host:port string to use in connection pool
  • Workload.Type - workload type (only DefaultWorkload is available so far)
  • Workload.(Create|Read|Update|Delete|Query)Percentage - CRUD-Q operations ratio, sum must be equal 100
  • Workload.Records - number of existing records(row, documents) in database before benchmark
  • Workload.Operations - total number of operations to perform, defines benchmark run time
  • Workload.ValueSize - total size of synthetic values
  • Workload.IndexableFields - number of fields that must support secondary indexes (basically they have deterministic values)
  • Workload.Workers - number of concurrent workers (threads, clients, and etc.)
  • Workload.TargetThroughput - enable limited throughput if provided

About

Database benchmarking tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages