Tidis + TiKV not GC for long time test
slow-zhang opened this issue · 7 comments
hi here, i using 3pd + 3 tikv + 1 tidis cluster and using go-ycsb test. After loaded 35M keys, I start a long run test with only read and update like the following config. The cluster finally stopped duo to full disks.
Why there is no GC in my cluster?
tidis config
[tidis]
listen = "0.0.0.0:5379"
max_connection = 5000
loglevel = "info"
#transaction retry count when commit failed in case of conflict
txn_retry = 2
auth = ""
tenantid = ""
[backend]
#tikv placement driver addresses
pds = "pd-ip:2379"'
tikv config
raftdb.max-background-jobs: 3
raftdb.max-sub-compactions: 1
raftdb.rate-bytes-per-sec: 60M
raftstore.raft-base-tick-interval: 3s
raftstore.raft-store-max-leader-lease: 27s
readpool.coprocessor.use-unified-pool: true
readpool.storage.use-unified-pool: false
readpool.unified.max-thread-count: 6
rocksdb.max-background-jobs: 3
rocksdb.max-sub-compactions: 1
rocksdb.rate-bytes-per-sec: 60M
rocksdb.titan.enabled: true
server.grpc-keepalive-time: 12s
storage.block-cache.capacity: 40
using go-ycsb command run
readproportion=0.8
updateproportion=0.2
scanproportion=0
insertproportion=0
recordcount=35000000
nohup ./bin/go-ycsb run redis
-P myworkload
-p redis.addr="ip:5379"
-p redis.pool_size=128
-p threadcount=32
-p tikv.conncount=128
Can you describe it in details?
In tidis,modify a key will not cause different encoding keys in tikv(rocksdb). But rocksdb wil have size amplification due to read/write and compaction configure.
What is your disk size and initial data size after insertion 35000000 records?
I use AWS m5.16xlarge * 3, 24disk * 1900GB, 35M records with 3-copy used ~7T in total. In the update & read workload, disk is exhausted and tikv breakdown duo to it
Can you run test again refer to tikv configuration in wiki https://github.com/yongman/tidis/wiki/Tidis-base-benchmark ?
RocksDB tuning is a complicated thing due to different workload.
@slow-zhang After checked the code, GC configuration lost in code.
GC code has been added in tag https://github.com/yongman/tidis/releases/tag/v1.1.0 .
You can test again with the newest code. Ping me if have any further questions.
@yongman Thank you, I will test again
Was the issue resolved? I'm curious
Was the issue resolved? I'm curious
Resolved.