memsql / dbbench Goto Github PK
View Code? Open in Web Editor NEWDatabase Benchmark Tool
License: Apache License 2.0
Database Benchmark Tool
License: Apache License 2.0
Queries which returns NULL values crash dbbench with error message below, when query-results-file
is specified in configuration file :
dbbench error message:
2017/07/25 21:08:22 error for query SELECT MIN(ra), MAX(ra) FROM Object WHERE z_apFlux BETWEEN 1 and 2 in shared_scan_2_minmax_object_2: sql: Scan error on column index 0: unsupported Scan, storing driver.Value type <nil> into type *string
dbbench configuration file:
fjammes@ccosvms0070:~/src/qserv_testscale/S15/tests/dbbench (tickets/DM-10041 *$%=)$ cat queries/4_shared_scan_2.ini
# Five scans on Object. Startup is staggered."
[shared_scan_2_minmax_object_1]
query=SELECT MIN(ra), MAX(ra) FROM Object WHERE decl > 3
query-results-file=out/4_shared_scan_2_minmax_object_1.csv
count=1
[shared_scan_2_minmax_object_1_1]
query=SELECT MIN(ra), MAX(ra) FROM Object WHERE decl > 3
query-results-file=out/4_shared_scan_2_minmax_object_1_1.csv
start=5s
count=1
[shared_scan_2_count_object_1]
query=SELECT COUNT(*) FROM Object WHERE y_instFlux > u_instFlux
query-results-file=out/4_shared_scan_2_count_object_1.csv
start=10s
count=1
[shared_scan_2_count_object_2]
query=SELECT COUNT(*) FROM Object WHERE y_instFlux > 5
query-results-file=out/4_shared_scan_2_count_object_2.csv
start=15s
count=1
[shared_scan_2_minmax_object_2]
query=SELECT MIN(ra), MAX(ra) FROM Object WHERE z_apFlux BETWEEN 1 and 2
query-results-file=out/4_shared_scan_2_minmax_object_2.csv
start=20s
count=1
Crash occurs in function outputRows()
of memsql/dbbench/sql_database.go
Would it be possible to support this kind of queries please?
[Concurrency_10]
query=call test()
concurrency=10
the result look like :
2023/10/20 13:43:29 Connecting to root:XXX@tcp(172.31.20.170:3306)/test?allowAllFiles=true&interpolateParams=true&allowCleartextPasswords=true&tls=preferred
2023/10/20 13:43:29 Connected
2023/10/20 13:43:29 starting Concurrency_10
2023/10/20 13:43:30 Concurrency_10: 337 transactions (337.380 TPS), latency 29.136092ms±788.552µs; 0 rows (0.000 RPS), 337 queries (337.380 QPS); 0 aborts (0.000%), latency 0s±0s
2023/10/20 13:43:31 Concurrency_10: 346 transactions (337.451 TPS), latency 28.976746ms±953.737µs; 0 rows (0.000 RPS), 346 queries (337.451 QPS); 0 aborts (0.000%), latency 0s±0s
2023/10/20 13:43:32 Concurrency_10: 360 transactions (348.872 TPS), latency 27.814199ms±691.835µs; 0 rows (0.000 RPS), 360 queries (348.872 QPS); 0 aborts (0.000%), latency 0s±0s
2023/10/20 13:43:33 Concurrency_10: 359 transactions (351.568 TPS), latency 27.736947ms±826.932µs; 0 rows (0.000 RPS), 359 queries (351.568 QPS); 0 aborts (0.000%), latency 0s±0s
2023/10/20 13:43:34 Concurrency_10: 361 transactions (350.543 TPS), latency 27.616218ms±772.491µs; 0 rows (0.000 RPS), 361 queries (350.543 QPS); 0 aborts (0.000%), latency 0s±0s
2023/10/20 13:43:35 Concurrency_10: 361 transactions (348.748 TPS), latency 27.753262ms±863.695µs; 0 rows (0.000 RPS), 361 queries (348.748 QPS); 0 aborts (0.000%), latency 0s±0s
the stored procedure returns at least one row per execution but the log shows : 0 rows (0.000 RPS)
I 100% understand if it's out of scope but it would be cool to have telnet-style protocols so this could be used for redis/influx and friends. I've written a few similar tools to stress test or create a baseline and it's definitely something that could live in a package like this!
Maybe just an interface that implements each step that can be easily wrapped up in a cli for custom cases.
As noted in the CirclCI testing dbbench
fails to build on versions 1.10 - 1.14 (only works on latest 1.17)
The PR in October makes use of flag.Func which was added in go release 1.16
The README states:
dbbench requires golang version >= 1.10.
However versions prior to 1.16 will not work because they can not use flag.Func
Some info on flag.Func addition to 1.16: https://blog.carlmjohnson.net/post/2020/add-func/
Does the current iteration of the dbbench tool support other authentication methods into the SingleStore instance such as the use of authentication through JWT, GSSAPI, or ODBC?
I cannot connect to Postgres after #14 was merged:
~/go/bin/dbbench -driver postgres -username materialize -database materialize -port 6875 select_latency.ini
2021/10/04 11:35:51 Connecting to postggresql://materialize:@localhost:6875/materialize
2021/10/04 11:35:51 Error connecting to the database: missing "=" after "postggresql://materialize:@localhost:6875/materialize" in connection info string"
Reverting to bbf9ecd avoids the problem.
Where to add count when using query-log-file?
It will be great to have the total duration of the test displayed in the summary of the test in the dbbench console output.
there is any possibility to send all the logs directaly to the logstash trough network or other way?
Running a workload that needs a connection pool. Can dbbench be modified to use a pool?
can dbbench be used to test oracle? what databases can dbbench support?
thank u!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.