Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dustin/blurr
Database benchmarking tool
https://github.com/dustin/blurr
Last synced: 3 days ago
JSON representation
Database benchmarking tool
- Host: GitHub
- URL: https://github.com/dustin/blurr
- Owner: dustin
- License: apache-2.0
- Created: 2012-10-04T17:50:53.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2012-10-04T17:51:25.000Z (about 12 years ago)
- Last Synced: 2024-11-11T13:05:45.932Z (about 1 month ago)
- Language: Go
- Homepage:
- Size: 144 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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.confConfiguration 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