D27 - 压测工具go-ycsb

官网对於性能测试的描述,分别提供了sysbench以及TPC-C的测试数据。在v5.2的改版後,也对新旧版TiDB的效能做了比较。而PingCap本身也开发了go-ycsb这套测试工具。ycsb是一套由yahoo推出以java语言开发的open source测试软件。而go-ycsb则如其名,用go语言重构了这套测试软件。

https://github.com/brianfrankcooper/YCSB
https://github.com/pingcap/go-ycsb

ycsb本身依据不同的使用情境提供了六种workload脚本,其内容大致上为:
workloada: 读写各占一半比例。
workloadb: 95%的读,5%的写。
workloadc: read only。
workloadd: 读占95%,写占5%,读取最近的更新,时间越接近读取机率越高。
workloade: Scan占95%,写入站5%,小范围的读取。
workloadf: 对资料执行读取、修改、写回。

依据每种不同的database带入特定的参数,以tikv为例必填的参数有
https://ithelp.ithome.com.tw/upload/images/20210923/20113220YemSRivJ3r.png

引用https://github.com/pingcap/go-ycsb#tikv

此外还有共用的参数,例如
threads: 用户的thread数量,预设为1。
target: 预计要达到的每秒ops。
recordcount: 预定要操作的资料笔数。
operationcount: 预定执行的操作数量。
threadcount: 意思与threads相同。

了解了go-ycsb使用方式之後,接下来就开始做实际的压测。


<<:  Day.27 实务应用 - 实作表自动分区管理( event / procedure / partition )_2

>>:  工作排程器--Windows的忠实程序秘书

Day24-Go Json处理

前言 上两篇中我们在介绍 Go 网路的操作中,有稍微提到 json 格式,那这篇将介绍有关何为 js...

[day-9] 认识Python的基本资料型别!

认识Python的基本资料型别吧!   每个程序语言都有各自独特的资料型别,让我们快速认识Pytho...

29 - 有效的使用 Observability 的资料 (3) - 资料的生命周期管理

有效的使用 Observability 的资料 系列文章 (1/4) - 透过 Machine Le...

小测试

这篇就做个小测试来解答我的疑问。 首先上一篇是爬阅览人数并且输入进资料库中,那阅览人数其实算数字嘛,...

Kotlin Android 第18天,从 0 到 ML - View Binding

前言: 在Activity 和 Fragment 只要操作 xml 的元件,在 onCreate 时...