pingcap/go-ycsb

TiKV - Ycsb - cpu usage, max thread-count supported etc

desaikomal opened this issue · 1 comments

Hello,
I ran the go-ycsb using default configuration against my 10 node TiKV storage.

First I loaded the DB and then ran the workloadA based test.

***************** properties *****************
"command"="run"
"operationcount"="3000000"
"tikv.type"="raw"
"insertproportion"="0"
"readproportion"="0.5"
"recordcount"="1000000"
"readallfields"="true"
"scanproportion"="0"
"requestdistribution"="uniform"
"updateproportion"="0.5"
"tikv.pd"="10.200.201.96:3307"
"dotransactions"="true"
"workload"="core"
"threads"="1024"

Here is the result of the run:
Run finished, takes 1h11m7.673834377s
READ - Takes(s): 4267.7, Count: 1498818, OPS: 351.2, Avg(us): 676, Min(us): 307, Max(us): 135679, 99th(us): 1082, 99.9th(us): 1252, 99.99th(us): 1576
UPDATE - Takes(s): 4267.6, Count: 1501182, OPS: 351.8, Avg(us): 2155, Min(us): 853, Max(us): 1603583, 99th(us): 3265, 99.9th(us): 3651, 99.99th(us): 4399

There are 2 questions:

  1. CPU load on my tikv storage node was about 2% on 40-core machine only.
    How do i load up my TiKV server to reach at least around 50 - 70% CPU load?
    threads ? more clients ?
  2. Is OPS same as QPS ? As I saw that TiKV is using 128 batch requests. So is it QPS = 128 * OPS ? or what ?

Please provide the information as I am benchmarking and don't want to misrepresent the info.

thanks,
Komal Desai

dbsid commented
  1. you can increase the operation count and threads to trigger more workload
  2. OPS is the same as QPS, it means how many read/update operations per second. What's the detail meaning batch size 128, which tikv config you're referring?

TiKV is using 128 batch requests.