X86 tidb使用sysbench压测的问题

  • 【TiDB 版本】:tidb3.0.12
  • 【问题描述】:安装的tidb并不是使用ansible启动集群的,是使用的脚本,在使用sysbench对tidb进行压测时,根据官方文档里需要修改配置文件,但是我这目录下并没有配置文件,这个修改的参数应该放哪里呢?多谢帮助,新人一枚 这是官方文档https://pingcap.com/docs-cn/stable/benchmark/how-to-run-sysbench/

如果是使用脚本启动的,麻烦描述一下脚本启动的方式 tidb-server 进程启动的时候,有指定 tidb.toml 文件么,这个就是 tidb 的配置文件

多谢您的回答,这是我们脚本里的tidb启动命令部分的内容

nohup ${G_TIDB_BINARY_DIR}/pd-server --name=${PD_NAME} --data-dir=${G_TIDB_DATA_DIR}/${PD_NAME} --client-urls=“http://${TIDB_LOCALHOST}:${PD_CLIENT_PORT}” --peer-urls=“http://${TIDB_LOCALHOST}:${PD_PEER_PORT}” --initial-cluster=${PDINITIAL_CLUSTER} --log-file=${G_TIDB_LOG_DIR}/pd.log &

我大概看了一下脚本,其中好像没有和tidb.toml的相关词汇,那请问我们是需要在脚本中添加这一个参数吗?

正常通过 tidb-ansible 部署启动的进程是会有指定配置文件的

您好,想请问一下sysbench的配置文件是哪个文件?还是说需要新建一个新文件?文中好像并未提及原始配置文件名称,只是说改好之后修改保存名称为config
https://pingcap.com/docs-cn/stable/benchmark/how-to-run-sysbench/

Sysbench 配置

以下为 Sysbench 配置文件样例:

mysql-host={TIDB_HOST}
mysql-port=4000
mysql-user=root
mysql-password=password
mysql-db=sbtest
time=600
threads={8, 16, 32, 64, 128, 256}
report-interval=10
db-driver=mysql

你自己vi一个config文件就好了,只要执行命令时,再这个目录下就可以

好的,对了请教一下,sysbench和jmeter对数据库进行压测,有什么区别吗?sysbench对tidb进行压测的效果,jmeter可以实现吗?

您好:
抱歉,我不大熟悉jmeter,可以参考官方文档进行sysbench和TPC-C测试,这些都是参考数据,当然你也可以使用现网业务来压测.

你好,有个问题请教一下,

sysbench --config-file=config oltp_point_select --tables=32 --table-size=10000000 prepare

这条命令是sysbench创建32表并导入数据的,但是如果我已经在库中创建的我们自己的表,那应该怎么修改这条命令,让数据导入我自己的表中呢? 还是说不能修改,只能照着文档执行进行压测呢?

参考下网上其他方法 https://yq.aliyun.com/articles/335621

sysbench --config-file=conf bulk_insert --tables=32 --table-size=10000000 --threads=8 run > /opt/hua/ywx/log/bulk_insert_8.log

Error in my_thread_global_end(): 8 threads didn’t exit

您好,请问一下,bulk_insert这一条的线程数应该 填多少呢?我尝试了几个线程数,都是报错,之前测的其他几条都没有出现这种情况

您好: 可以把线程都先调小到1看看能否成功. 另外,sysbench的问题,建议可以到https://github.com/akopytov/sysbench 提问下,多谢