计算机系统的性能评估工具sysbench介绍及在FusionOS源码编译安装

sysbench是一个基于LuaJIT的可编写脚本的多线程基准测试工具。它最常用于数据库基准测试,但也可用于创建不涉及数据库服务器的任意复杂的工作负载。

sysbench 附带以下捆绑基准测试:

  • oltp_*.lua:类似 OLTP 的数据库基准测试的集合
  • fileio:文件系统级基准测试
  • cpu:一个简单的CPU基准测试
  • memory:内存访问基准
  • threads:基于线程的调度程序基准
  • mutex:POSIX 互斥基准

特征

  • 提供有关速率和延迟的广泛统计数据,包括延迟百分位数和直方图;
  • 即使有数千个并发线程,开销也很低。sysbench 每秒能够生成和跟踪数亿个事件;
  • 通过在用户提供的 Lua 脚本中实现预定义的钩子,可以轻松创建新的基准;
  • 也可以用作通用 Lua 解释器,只需在脚本中替换#!/usr/bin/lua为即可。#!/usr/bin/sysbench

用法

一般语法

sysbench 的一般命令行语法是:

        sysbench [options]... [testname] [command]

testname是内置测试的可选名称(例如fileio、 memory、cpu等),或者捆绑的 Lua 脚本之一的名称(例如oltp_read_only),或者自定义 Lua 脚本的路径。如果在命令行上没有指定测试名称(因此,也没有 命令,因为在这种情况下它将被解析为 testname ,或者测试名称是破折号(“ -”),那么 sysbench 需要一个 Lua在其标准输入上执行的脚本。

command是一个可选参数,将由 sysbench 传递给testname指定的内置测试或脚本。命令 定义测试必须执行的操作。可用命令的列表取决于特定的测试。一些测试还实现自己的自定义命令。

以下是典型测试命令及其用途的描述:

  • prepare:为需要的测试执行准备操作,例如在磁盘上创建测试所需的文件fileio ,或填充测试数据库以进行数据库基准测试。
  • run:运行由testname参数指定的实际测试 。所有测试都提供此命令。
  • cleanup:在创建临时数据的测试中运行测试后删除临时数据。
  • help:显示使用testname参数指定的测试的使用信息 。这包括测试提供的命令的完整列表,因此应该使用它来获取可用的命令。

options是零个或多个以 . 开头的命令行选项的列表 '--'。与命令一样,sysbench testname help命令应该用于描述特定测试提供的可用选项。

有关sysbench 本身提供的常规选项的说明,请参阅常规命令行选项。

您可以用来sysbench --help显示一般命令行语法和选项。

选项描述默认值
--threads要创建的工作线程总数1
--events请求总数的限制。0(默认)表示无限制0
--time总执行时间限制(以秒为单位)。0表示无限制10
--warmup-time在启用统计信息的实际基准运行之前,在禁用统计信息的情况下执行这么多秒的事件。当您想要从统计数据中排除基准测试运行的初始阶段时,这非常有用。在许多基准测试中,初始阶段并不具有代表性,因为CPU/数据库/页面和其他缓存需要一些时间来预热0
--rate平均交易率。该数字指定所有线程平均每秒应执行多少个事件(事务)。0(默认)表示无限速率,即事件尽可能快地执行0
--thread-init-timeout工作线程初始化的等待时间(以秒为单位)30
--thread-stack-size每个线程的堆栈大小32K
--report-interval以指定的时间间隔(以秒为单位)定期报告中间统计信息。请注意,此选项生成的统计数据是按时间间隔生成的,而不是累积的。0 禁用中间报告0
--debug打印更多调试信息off
--validate尽可能验证测试结果off
--help打印有关一般语法或指定测试的帮助,然后退出off
--verbosity详细级别(0 - 仅关键消息,5 - 调试)4
--percentilesysbench 测量所有已处理请求的执行时间,以显示最小、平均和最大执行时间等统计信息。对于大多数基准测试,了解与某个百分位数匹配的请求执行时间值也很有用(例如,95% 百分位数意味着我们应该删除 5% 的最长请求并从剩余请求中选择最大值)。此选项允许指定要计数的查询执行时间的百分位等级95
--luajit-cmd执行 LuaJIT 控制命令。该选项相当于luajit -j. 请参阅LuaJIT 文档以获取更多信息

请注意,所有大小选项的数值(如--thread-stack-size本表中所示)可以通过附加相应的乘法后缀来指定(K 表示千字节,M 表示兆字节,G 表示千兆字节,T 表示太字节)。

随机数选项

sysbench 提供了多种算法来生成根据给定概率分布分布的随机数。下表列出了可用于控制这些算法的选项。

随机数选项

sysbench 提供了多种算法来生成根据给定概率分布分布的随机数。下表列出了可用于控制这些算法的选项。

选项描述默认值
--rand-type默认使用的随机数分布 {uniform、gaussian、special、pareto、zipfian}。基准脚本可以选择使用默认发行版,也可以明确指定它,即覆盖默认发行版。special
--rand-seed随机数生成器的种子。当为 0 时,当前时间用作 RNG 种子。0
--rand-spec-iter特殊分布的迭代次数12
--rand-spec-pct“特殊”值落在特殊分布中的整个范围的百分比1
--rand-spec-res用于特殊分布的“特殊”值的百分比75
--rand-pareto-h帕累托分布的形状参数0.2
--rand-zipfian-expZipfian 分布的形状参数 (theta)0.8

以上文章来自于github:GitHub - akopytov/sysbench: Scriptable database and system performance benchmark

FusionOS源码编译安装:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值