tencent cloud

Test Tools
Last updated:2025-12-25 09:45:59
Test Tools
Last updated: 2025-12-25 09:45:59
This document introduces Sysbench, the performance test tool for TDSQL-C for MySQL, and describes how to install Sysbench on a Cloud Virtual Machine (CVM) instance.

Introduction to Sysbench

Sysbench is an open-source, cross-platform, and multi-threaded modular benchmark test tool designed to evaluate the performance of the related core parameters of a system running a high-load database. It allows you to bypass the complex benchmark settings of databases and quickly understand the database system performance without installing a database. This tool is mainly used for the database benchmark test and system performance test (such as CPU, memory, I/O, and threads).

Sysbench Parameter Description

Parameter
Description
db-driver
Database engine.
mysql-host
Connection address of a TDSQL-C for MySQL instance.
mysql-port
Connection port of a TDSQL-C for MySQL instance.
mysql-user
Account of a TDSQL-C for MySQL instance.
mysql-password
Password for the account of a TDSQL-C for MySQL instance.
mysql-db
Database name of a TDSQL-C for MySQL instance.
table_size
Size of the test table.
tables
Number of test tables.
events
Number of test requests.
time
Test time.
threads
Number of test threads.
percentile
Percentile of requests to be collected. The default value is 95%, which means 95% requests are processed within the specified response time.
report-interval
Interval (N seconds) of test progress report output. 0 indicates that the output of the test progress report is disabled, and only the final report result is output.
skip-trx
Whether to skip a transaction.
1: skip.
0: do not skip.

Installation Methods

Sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2) is used for the stress testing. For more information, see Sysbench Official Documentation.
Note
1 client supports 1000 concurrent threads. 1 client needs to be added when the number of concurrent threads exceeds 1000, and so on.
1. Run the following commands on a CVM instance to install Sysbench.
yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql
git clone https://github.com/akopytov/sysbench.git
##Download Sysbench from Git.
cd sysbench
##Open the Sysbench directory.
git checkout 1.0.20
##Switch to sysbench 1.0.20.
./autogen.sh
##Run autogen.sh.
./configure --prefix=/usr --mandir=/usr/share/man
make
##Compile.
make install
2. Run the following commands to configure the client to enable the kernel to use all CPUs for data packet processing and reduce context switches between CPUs.
sudo sh -c 'for x in /sys/class/net/eth0/queues/rx-*; do echo ffffffff>$x/rps_cpus; done'
sudo sh -c "echo 32768 > /proc/sys/net/core/rps_sock_flow_entries"
sudo sh -c "echo 4096 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt"
sudo sh -c "echo 4096 > /sys/class/net/eth0/queues/rx-1/rps_flow_cnt"
Note
ffffffff indicates that 32 CPUs are used (1 f represents 4 CPUs).
Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback