【SysBench】sysbench-1.20 命令速查表

1、通用语法

The general command line syntax for sysbench is:

	  sysbench [options]... [testname] [command] 
  • testname is an optional name of a built-in test (e.g. fileio,
    memory, cpu, etc.), or a name of one of the bundled Lua scripts

    (e.g. oltp_read_only), or a path to a custom Lua script. If no

    test name is specified on the command line (and thus, there is no
    command too, as in that case it would be parsed as a testname ), or

    the test name is a dash ("-"), then sysbench expects a Lua script to

    execute on its standard input.

  • command is an optional argument that will be passed by sysbench to

    the built-in test or script specified with testname . command

    defines the action that must be performed by the test. The list of

    available commands depends on a particular test. Some tests also

    implement their own custom commands.

    Below is a description of typical test commands and their purpose:

    • prepare: performs preparative actions for those tests which need
      them, e.g. creating the necessary files on disk for the fileio
      test, or filling the test database for database benchmarks.
    • run: runs the actual test specified with the testname
      argument. This command is provided by all tests.
    • cleanup: removes temporary data after the test run in those
      tests which create one.
    • help: displays usage information for the test specified with the
      testname argument. This includes the full list of commands
      provided by the test, so it should be used to get the available
      commands.
  • options is a list of zero or more command line options starting with
    '--'. As with commands, the sysbench testname help command

    should be used to describe available options provided by a

    particular test.

You can use sysbench --help to display the general command line syntax

and options.

2、通用命令行选项

bash 复制代码
$ sysbench --help
Usage:
  sysbench [options]... [testname] [command]

Commands implemented by most tests: prepare run cleanup help

General options:
  --threads=N                     number of threads to use [1]
  --events=N                      limit for total number of events [0]
  --time=N                        limit for total execution time in seconds [10]
  --forced-shutdown=STRING        number of seconds to wait after the --time limit before forcing shutdown, or 'off' to disable [off]
  --thread-stack-size=SIZE        size of stack per thread [64K]
  --rate=N                        average transactions rate. 0 for unlimited rate [0]
  --report-interval=N             periodically report intermediate statistics with a specified interval in seconds. 0 disables intermediate reports [0]
  --report-checkpoints=[LIST,...] dump full statistics and reset all counters at specified points in time. The argument is a list of comma-separated values representing the amount of time in seconds elapsed from start of test when report checkpoint(s) must be performed. Report checkpoints are off by default. []
  --debug[=on|off]                print more debugging info [off]
  --validate[=on|off]             perform validation checks where possible [off]
  --help[=on|off]                 print help and exit [off]
  --version[=on|off]              print version and exit [off]
  --config-file=FILENAME          File containing command line options
  --tx-rate=N                     deprecated alias for --rate [0]
  --max-requests=N                deprecated alias for --events [0]
  --max-time=N                    deprecated alias for --time [0]
  --num-threads=N                 deprecated alias for --threads [1]

Pseudo-Random Numbers Generator options:
  --rand-type=STRING random numbers distribution {uniform,gaussian,special,pareto} [special]
  --rand-spec-iter=N number of iterations used for numbers generation [12]
  --rand-spec-pct=N  percentage of values to be treated as 'special' (for special distribution) [1]
  --rand-spec-res=N  percentage of 'special' values to use (for special distribution) [75]
  --rand-seed=N      seed for random number generator. When 0, the current time is used as a RNG seed. [0]
  --rand-pareto-h=N  parameter h for pareto distribution [0.2]

Log options:
  --verbosity=N verbosity level {5 - debug, 0 - only critical messages} [3]

  --percentile=N       percentile to calculate in latency statistics (1-100). Use the special value of 0 to disable percentile calculations [95]
  --histogram[=on|off] print latency histogram in report [off]

General database options:

  --db-driver=STRING  specifies database driver to use ('help' to get list of available drivers) [mysql]
  --db-ps-mode=STRING prepared statements usage mode {auto, disable} [auto]
  --db-debug[=on|off] print database-specific debug information [off]


Compiled-in database drivers:
  mysql - MySQL driver
  pgsql - PostgreSQL driver

mysql options:
  --mysql-host=[LIST,...]          MySQL server host [localhost]
  --mysql-port=[LIST,...]          MySQL server port [3306]
  --mysql-socket=[LIST,...]        MySQL socket
  --mysql-user=STRING              MySQL user [sbtest]
  --mysql-password=STRING          MySQL password []
  --mysql-db=STRING                MySQL database name [sbtest]
  --mysql-ssl[=on|off]             use SSL connections, if available in the client library [off]
  --mysql-ssl-cipher=STRING        use specific cipher for SSL connections []
  --mysql-compression[=on|off]     use compression, if available in the client library [off]
  --mysql-debug[=on|off]           trace all client library calls [off]
  --mysql-ignore-errors=[LIST,...] list of errors to ignore, or "all" [1213,1020,1205]
  --mysql-dry-run[=on|off]         Dry run, pretend that all MySQL client API calls are successful without executing them [off]

pgsql options:
  --pgsql-host=STRING     PostgreSQL server host [localhost]
  --pgsql-port=N          PostgreSQL server port [5432]
  --pgsql-user=STRING     PostgreSQL user [sbtest]
  --pgsql-password=STRING PostgreSQL password []
  --pgsql-db=STRING       PostgreSQL database name [sbtest]

Compiled-in tests:
  fileio - File I/O test
  cpu - CPU performance test
  memory - Memory functions speed test
  threads - Threads subsystem performance test
  mutex - Mutex performance test

See 'sysbench <testname> help' for a list of options for each test.

以下为 sysbench 编译时内置的测试模块,包括 CPU、文件 I/O、内存、线程、互斥(Mutex)。

2、CPU

bash 复制代码
$ sysbench cpu help
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

cpu options:
  --cpu-max-prime=N upper limit for primes generator [10000]

3、文件 I/O

bash 复制代码
$ sysbench fileio help
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

fileio options:
  --file-num=N                  number of files to create [128]
  --file-block-size=N           block size to use in all IO operations [16384]
  --file-total-size=SIZE        total size of files to create [2G]
  --file-test-mode=STRING       test mode {seqwr, seqrewr, seqrd, rndrd, rndwr, rndrw}
  --file-io-mode=STRING         file operations mode {sync,async,mmap} [sync]
  --file-async-backlog=N        number of asynchronous operatons to queue per thread [128]
  --file-extra-flags=[LIST,...] list of additional flags to use to open files {sync,dsync,direct} []
  --file-fsync-freq=N           do fsync() after this number of requests (0 - don't use fsync()) [100]
  --file-fsync-all[=on|off]     do fsync() after each write operation [off]
  --file-fsync-end[=on|off]     do fsync() at the end of test [on]
  --file-fsync-mode=STRING      which method to use for synchronization {fsync, fdatasync} [fsync]
  --file-merged-requests=N      merge at most this number of IO requests if possible (0 - don't merge) [0]
  --file-rw-ratio=N             reads/writes ratio for combined test [1.5]

4、内存

bash 复制代码
$ sysbench memory help
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

memory options:
  --memory-block-size=SIZE    size of memory block for test [1K]
  --memory-total-size=SIZE    total size of data to transfer [100G]
  --memory-scope=STRING       memory access scope {global,local} [global]
  --memory-hugetlb[=on|off]   allocate memory from HugeTLB pool [off]
  --memory-oper=STRING        type of memory operations {read, write, none} [write]
  --memory-access-mode=STRING memory access mode {seq,rnd} [seq]

5、线程

bash 复制代码
$ sysbench threads help
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

threads options:
  --thread-yields=N number of yields to do per request [1000]
  --thread-locks=N  number of locks per thread [8]

6、互斥(Mutex)

bash 复制代码
$ sysbench mutex help
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

mutex options:
  --mutex-num=N   total size of mutex array [4096]
  --mutex-locks=N number of mutex locks to do per thread [50000]
  --mutex-loops=N number of empty loops to do outside mutex lock [10000]

7、OLTP 数据库基准测试 Lua 脚本

bash 复制代码
$ ls -1 /usr/local/share/sysbench
bulk_insert.lua
oltp_common.lua
oltp_delete.lua
oltp_insert.lua
oltp_point_select.lua
oltp_read_only.lua
oltp_read_write.lua
oltp_update_index.lua
oltp_update_non_index.lua
oltp_write_only.lua
select_random_points.lua
select_random_ranges.lua
相关推荐
cooldream20091 个月前
828华为云征文 | 华为云X实例CPU性能测试详解与优化策略
华为云·sysbench·cpu性能测试
cooldream20091 个月前
828华为云征文 | 在华为云上通过Docker容器部署Elasticsearch并进行性能评测
elasticsearch·docker·华为云·benchmark
cooldream20092 个月前
828华为云征文 | Flexus X实例CPU、内存及磁盘性能实测与分析
华为云·性能测试·sysbench
cooldream20092 个月前
Sysbench性能测试工具的安装与使用
测试工具·sysbench
ღCauchyོꦿ࿐2 个月前
【Go 快速入门】Go Test 工具 | 单元测试 | 基准测试
golang·单元测试·基准测试
a187927218314 个月前
Go-知识测试-性能测试分析工具-benchstat
golang·go·benchmark·go 测试·go 性能测试分析·benchstat
dingdingfish4 个月前
一个计算密集小程序在不同CPU下的表现
linux·arm·cpu·intel·benchmark·amd
HuggingFace4 个月前
TGI 基准测试
文本生成·基准测试
HuggingFace6 个月前
开源医疗大模型排行榜: 健康领域大模型基准测试
基准测试·医疗大模型·医疗大模型排行榜
johnny2337 个月前
基准测试理论全面介绍:IOmeter、Stream、Whetstone、Dhrystone、SPEC、TPC、Linpack
benchmark