由于crdb不兼容benchmarksql,只能使用crdb官方的tpcc测试程序loadgen进行测试。
安装loadgen
|
|
初始化100个仓库
|
|
加载时间:
- 导入数据:一个warehouse在45s,共4500s。kk
- 创建索引:30min
总计:107min
测试
32并发5分钟
|
|
64并发5分钟
|
|
128并发5分钟
会出现冲突回滚的事务
|
|
官方回答
This is pretty much expected - like I was saying on Gitter, since we haven’t implemented think time or wait time yet in tpcc, the workload that’s currently simulated is a worst-case extremely high contention workload, which is why performance suffers with higher concurrency. It’s not representative of a normal tpcc benchmark.
In a correctly implemented tpcc benchmark (which we’re working on and should have ready this or next week), per-warehouse concurrency is capped, and each concurrent connection spends a lot of its time being idle. The benchmark is not designed to measure extremely high contention - instead it’s supposed to measure a highly concurrent but low contention workload.
As for the errors you’re seeing with concurrency=128, in CockroachDB sometimes the client must get involved2 to retry a transaction. The load generator doesn’t currently implement retries correctly, hence the output errors.
等待他们tpc-c测试程序的稳定。