3
Show HN: DBChaos – A Database stress testing tool
source link: https://github.com/adaptive-scale/dbchaos
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
DBChaos
Stress-test your database with pre-defined queries. Validate slow and expensive queries that breaks your database.
Installation
go install github.com/adaptive-scale/[email protected]
Run your first test
Create a file name config.yaml
with the following content:
dbType: postgres
connection: "host=localhost port=5432 user=postgres password=postgres dbname=postgres sslmode=disable"
query: |
SELECT pg_database.datname as "Database", pg_size_pretty(pg_database_size(pg_database.datname)) as "Size"
FROM pg_database;
parallelRuns: 100
runFor: 30m
To run the above config file:
dbchaos runTest config.yaml
Run bunch of queries in parallel
Create a file called scenario.yaml
with the following content:
dbType: mysql
connection: "root:root@tcp(host:port)/db"
scenarios:
- query: select * from information_schema.statistics
parallelRuns: 10000
runFor: 15m
- query: |
SELECT table_schema "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) "Size (MB)"
FROM information_schema.tables
GROUP BY table_schema;
parallelRuns: 10000
runFor: 15m
To run the above scenario file:
dbchaos runScenario scenario.yaml
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK