Closed vponomaryov closed 2 years ago
New version v0.1.7 improved the situation but still fails:
[root@ip-10-0-0-197 /]# cd scylla-bench-0.1.3
[root@ip-10-0-0-197 scylla-bench-0.1.3]# GO111MODULE=on go install .
go: downloading github.com/HdrHistogram/hdrhistogram-go v1.1.0
[root@ip-10-0-0-197 scylla-bench-0.1.3]# /$HOME/go/bin/scylla-bench -workload=timeseries -mode=write -replication-factor=3 -partition-count=400 -clustering-row-count=10000000 -clustering-row-size=200 -concurrency=100 -rows-per-request=100 -start-timestamp=1643207081874298013 -connection-count 100 -max-rate 50000 --timeout 120s -duration=10s -error-at-row-limit 1000 -nodes 172.20.175.50
Configuration
Mode: write
Workload: timeseries
Timeout: 2m0s
Consistency level: quorum
Partition count: 400
Clustering rows: 10000000
Clustering row size: Fixed(200)
Rows per request: 100
Page size: 1000
Concurrency: 100
Connections: 100
Maximum rate: 50000 op/s
Client compression: true
Start timestamp: 1643207081874298013
Write rate: 125
time ops/s rows/s errors max 99.9th 99th 95th 90th median mean
1s 49991 49991 0 8.2ms 5.4ms 2.2ms 1.1ms 950µs 754µs 797µs
2s 50091 50091 0 7.2ms 4.5ms 2.2ms 1.2ms 950µs 754µs 798µs
3s 50083 50083 0 8.6ms 6.2ms 2.6ms 1.4ms 950µs 754µs 819µs
4s 50090 50090 0 17ms 5.7ms 2.3ms 1.7ms 1ms 754µs 831µs
5s 50090 50090 0 7ms 5.4ms 2.5ms 1.7ms 1ms 754µs 837µs
6s 50060 50060 0 8.1ms 4ms 2.1ms 1.1ms 950µs 754µs 792µs
7s 50080 50080 0 9.3ms 7.4ms 2.2ms 1.6ms 1ms 754µs 821µs
8s 50049 50049 0 9ms 4.4ms 2.2ms 1.6ms 983µs 754µs 814µs
9s 50083 50083 0 11ms 4.9ms 2.3ms 1.6ms 983µs 754µs 816µs
Results
Time (avg): 9.99690805s
Total ops: 499797
Total rows: 499797
Operations/s: 49995.15846389373
Rows/s: 49995.15846389373
raw latency :
max: 17.399807ms
99.9th: 5.373951ms
99th: 2.228223ms
95th: 1.540095ms
90th: 983.039µs
median: 753.663µs
mean: 814.322µs
c-o fixed latency :
max: 17.399807ms
99.9th: 6.979583ms
99th: 3.440639ms
95th: 2.064383ms
90th: 1.802239ms
median: 1.310719ms
mean: 1.345991ms
[root@ip-10-0-0-197 scylla-bench-0.1.3]# cd ..
[root@ip-10-0-0-197 /]# cd scylla-bench-0.1.4
[root@ip-10-0-0-197 scylla-bench-0.1.4]# GO111MODULE=on go install .
[root@ip-10-0-0-197 scylla-bench-0.1.4]# /$HOME/go/bin/scylla-bench -workload=timeseries -mode=write -replication-factor=3 -partition-count=400 -clustering-row-count=10000000 -clustering-row-size=200 -concurrency=100 -rows-per-request=100 -start-timestamp=1643207081874298013 -connection-count 100 -max-rate 50000 --timeout 120s -duration=10s -error-at-row-limit 1000 -nodes 172.20.175.50
Configuration
Mode: write
Workload: timeseries
Timeout: 2m0s
Consistency level: quorum
Partition count: 400
Clustering rows: 10000000
Clustering row size: Fixed(200)
Rows per request: 100
Page size: 1000
Concurrency: 100
Connections: 100
Maximum rate: 50000 op/s
Client compression: true
Start timestamp: 1643207081874298013
Write rate: 125
time ops/s rows/s errors max 99.9th 99th 95th 90th median mean Killed
[root@ip-10-0-0-197 scylla-bench-0.1.4]# cd ..
[root@ip-10-0-0-197 /]# cd scylla-bench-0.1.7
[root@ip-10-0-0-197 scylla-bench-0.1.7]# GO111MODULE=on go install .
go: downloading github.com/scylladb/gocql v1.5.0
[root@ip-10-0-0-197 scylla-bench-0.1.7]# /$HOME/go/bin/scylla-bench -workload=timeseries -mode=write -replication-factor=3 -partition-count=400 -clustering-row-count=10000000 -clustering-row-size=200 -concurrency=100 -rows-per-request=100 -start-timestamp=1643207081874298013 -connection-count 100 -max-rate 50000 --timeout 120s -duration=10s -error-at-row-limit 1000 -nodes 172.20.175.50
Configuration
Mode: write
Workload: timeseries
Timeout: 2m0s
Consistency level: quorum
Partition count: 400
Clustering rows: 10000000
Clustering row size: Fixed(200)
Rows per request: 100
Page size: 1000
Concurrency: 100
Connections: 100
Maximum rate: 50000 op/s
Client compression: true
Start timestamp: 1643207081874298013
Write rate: 125
Hdr memory consumption: 3355470400 bytes
time ops/s rows/s errors max 99.9th 99th 95th 90th median mean
1s 50000 50000 0 24ms 9ms 2.1ms 1.1ms 1ms 754µs 806µs
2s 50343 50343 0 23ms 11ms 3.2ms 1.7ms 1.1ms 754µs 866µs
3s 50053 50053 0 9.3ms 6.8ms 2.5ms 1.2ms 1ms 754µs 804µs
4.3s 49847 49847 0 214ms 69ms 4ms 1.7ms 1.1ms 754µs 1ms
5.3s 51183 51183 0 207ms 80ms 21ms 1.8ms 1.2ms 786µs 1.4ms
6.3s 54829 54829 0 93ms 44ms 16ms 1.6ms 1.1ms 786µs 1.2ms
7.3s 48432 48432 0 55ms 19ms 4.7ms 1.6ms 1.1ms 754µs 924µs Killed
Added option to control discreteness of hdr histogram - https://github.com/scylladb/scylla-bench/pull/87
Should be fixed at https://github.com/scylladb/scylla-bench/pull/87 and https://github.com/scylladb/scylla-bench/pull/85
Following command works great using scylla-bench-v0.1.3:
Example:
But with v0.1.4+ it gets OOMKilled in couple of seconds on VM with ~5Gb RAM:
Note that here we have "microseconds" interval. If we set
nano
then we get this:And if we set
ms
then it starts working:So, something was missing from
performance
point of view in the PR with it's implementation: https://github.com/scylladb/scylla-bench/pull/75