Sysbench多线程性能测试工具

最近用sysbench进行了较多的性能测试,也总结一下它的特点和用法和需要注意的事项。sysbench是一个多线程性能测试工具,可以进行CPU/内存/IO/数据库等性能测试。不过我绝大多数的时候都是用它来对数据库(MySQL)进行oltp测试。它能测哪些东西,怎么测让我从它的命令帮助来回答。

~/zbs$ sysbench --help

Missing required command argument.

Usage:

sysbench [general-options]... --test= [test-options]... command

上面就大概的用法,--test=指定我们需要测什么类型,那么--test有哪几种类型呢?fileio/cpu/memory/threads/mutex,不好意思前面这几个我都没测过,我主要是用它来测数据库的性能,但为什么没有数据库这个选项呢,这是我是用了最新的版本0.5,它与0.4的版本最大区别在于支持多表测试,执行实时打印统计信息,支持自定义lua脚本来设置测试行为。

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

如果你用sysbench0.4大概会看到如下,请注意oltp这个选项就是测数据库用的。

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

oltp - OLTP test

看完了测试模式之后,那么它有一些什么主要的其他控制参数呢?首先说这个每个测试模式自己特有的参数怎么擦看 sysbench --test= help,比如我这里(请注意,由于sysbench0.5的--test选项对数据库的测试不再使用oltp这个选项而是通过指定lua脚本,因此利用前面这个命令查看不到下面的结果,所以如果要查看还是通过0.4的吧,如果谁找到了方式在0.5版本里查看oltp的参数也请告诉一下。另外虽然0.5与0.4版本不同但是参数还是基本上保持兼容的):

~$ sysbench --test=oltp help

sysbench 0.4.12: multi-threaded system evaluation benchmark

oltp options:

--oltp-test-mode=STRING test type to use {simple,complex,nontrx,sp} [complex]

--oltp-reconnect-mode=STRING reconnect mode {session,transaction,query,random} [session]

--oltp-sp-name=STRING name of store procedure to call in SP test mode []

--oltp-read-only=[on|off] generate only 'read' queries (do not modify database) [off]

--oltp-skip-trx=[on|off] skip BEGIN/COMMIT statements [off]

--oltp-range-size=N range size for range queries [100]

--oltp-point-selects=N number of point selects [10]

--oltp-simple-ranges=N number of simple ranges [1]

--oltp-sum-ranges=N number of sum ranges [1]

--oltp-order-ranges=N number of ordered ranges [1]

--oltp-distinct-ranges=N number of distinct ranges [1]

--oltp-index-updates=N number of index update [1]

--oltp-non-index-updates=N number of non-index updates [1]

--oltp-nontrx-mode=STRING mode for non-transactional test {select, update_key, update_nokey, insert, delete} [select]

--oltp-auto-inc=[on|off] whether AUTO_INCREMENT (or equivalent) should be used on id column [on]

--oltp-connect-delay=N time in microseconds to sleep after connection to database [10000]

--oltp-user-delay-min=N minimum time in microseconds to sleep after each request [0]

--oltp-user-delay-max=N maximum time in microseconds to sleep after each request [0]

--oltp-table-name=STRING name of test table [sbtest]

--oltp-table-size=N number of records in test table [10000]

--oltp-dist-type=STRING random numbers distribution {uniform,gaussian,special} [special]

--oltp-dist-iter=N number of iterations used for numbers generation [12]

--oltp-dist-pct=N percentage of values to be treated as 'special' (for special distribution) [1]

--oltp-dist-res=N percentage of 'special' values to use (for special distribution) [75]

General database options:

--db-driver=STRING specifies database driver to use ('help' to get list of available drivers)

--db-ps-mode=STRING prepared statements usage mode {auto, disable} [auto]

Compiled-in database drivers:

mysql - MySQL driver

mysql options:

--mysql-host=[LIST,...] MySQL server host [localhost]

--mysql-port=N MySQL server port [3306]

--mysql-socket=STRING MySQL socket

--mysql-user=STRING MySQL user [sbtest]

--mysql-password=STRING MySQL password []

--mysql-db=STRING MySQL database name [sbtest]

--mysql-table-engine=STRING storage engine to use for the test table {myisam,innodb,bdb,heap,ndbcluster,federated} [innodb]

--mysql-engine-trx=STRING whether storage engine used is transactional or not {yes,no,auto} [auto]

--mysql-ssl=[on|off] use SSL connections, if available in the client library [off]

--myisam-max-rows=N max-rows parameter for MyISAM tables [1000000]

--mysql-create-options=STRING additional options passed to CREATE TABLE []

上面有这么多参数,相信都能基本看懂吧,我等下举例的时候会讲到里面的参数代表什么含义。然后知道怎么查看具体某个测试模式的用法之后再来看general-options,通用参数,下面看看0.5的参数(相对0.4的增加了不少,有些参数的名称也变了,怎么辨别---对某个参数解释一模一样):

General options:

--num-threads=N number of threads to use [1]

--max-requests=N limit for total number of requests [10000]

--max-time=N limit for total execution time in seconds [0]

--forced-shutdown=STRING amount of time to wait after --max-time before forcing shutdown [off]

--thread-stack-size=SIZE size of stack per thread [64K]

--tx-rate=N target transaction rate (tps) [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. []

--test=STRING test to run

--debug=[on|off] print more debugging info [off]

--validate=[on|off] perform validation checks where possible [off]

--help=[on|off] print help and exit

--version=[on|off] print version and exit [off]

--rand-init=[on|off] initialize random number generator [off]

--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, ignored when 0 [0]

--rand-pareto-h=N parameter h for pareto distibution [0.2]相关阅读:

javascript:window.open弹出窗口的位置问题

JavaScript中的字符串操作详解

Android 再按一次返回键退出程序实现思路

asp.net中Repeart选中整行操作实例

JSP实现从数据库导出数据到Excel下载的方法

浅谈javascript获取元素transform参数

JS访问SWF的函数用法实例

Mysql安装 Navicat 出现1044/1045错误的解决方法

javascript中typeof操作符和constucor属性检测

ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现

Win7系统玩英雄联盟经常自动关机的故障原因分析及解决方法

实现51Map地图接口(示例代码)

Highcharts学习之坐标轴

JS文本获得焦点清除文本文字的示例代码

php mysql 性能测试工具_MySQL_Sysbench多线程性能测试工具,最近用sysbench进行了较多的性 - phpStudy...相关推荐

  1. java 多线程工具_多线程测试工具groboutils的使用

    public class FaultServiceTest extends TestCase { /** * @param args * @throws FaultException * @throw ...

  2. mysql承受压力_MySQL 压力性能测试(Mysqlslap)工具

    Mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具.通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了"高负荷攻击MySQL"的数据性能 ...

  3. 保护站点上已存在另一个具有相同实例 UUID的虚拟机_LoadRunner性能测试系统学习教程:工具介绍(上)...

    在使用LoadRunner进行性能测试时,需要先了解LoadRunner的工作原理.工作过程和内部结构,这样可以对其有一个整体的了解和概要的认识. 主要包括以下内容: LoadRunner简介 Loa ...

  4. linux下性能测试mon,Linux性能评测工具之一:nmon篇

    1.nmon概述 1.1.概述 nmon是收集AIX或Linux主机的性能数据并分析的工具,使用简单易用.主要有两个,一个是nmon采集数据的工具,一般名称为nmon_**,例如nmon_aix5.3 ...

  5. 性能测试工具Loadrunner以及性能测试的流程以及每一个步骤的流程和结果分析

    [文章末尾给大家留下了大量的福利] 性能测试工具Loadrunner Loadrunner是HP公司研发的性能测试工具,原理是通过刻录传输协议生成脚本,增强脚本以后模拟大量用户并发进行性能测试. 对于 ...

  6. 服务器性能测试工具及实战,性能测试实战--《软件测试52讲》

    1.性能测试工具常见5组件及作用: 模拟用户行为生成脚本:loadrunner有录制功能,转化为基于协议的请求.jmeter有badboy 压力产生器:可能由于压力产生器本身的性能瓶颈(设备本身也会存 ...

  7. 电脑性能测试常用软件介绍,哪些工具可用于性能测试?常用的性能测试工具是什么?...

    性能测试是通过自动测试工具模拟各种正常,峰值和异常负载情况来测试系统的各种性能指标. 负载测试和压力测试都是性能测试. 负载测试主要是通过各种工作负载下系统的性能来进行的. 随着负载的变化,确定系统性 ...

  8. linux下cpu性能测试软件,Linux系统性能测试工具(四)——CPU性能测试工具之super_pi、sysbench...

    在Linux系统下运行微信Web开发者工具 微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确 ...

  9. mysql 工具_MySQL压力测试工具,值得收藏

    一.MySQL自带的压力测试工具--Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新 ...

最新文章

  1. java数组如何pop_Js数组的操作push,pop,shift,unshift等方法详细介绍
  2. Objective-C面向对象之实现类
  3. 学python是看书还是看视频-零基础自学Python是看书还是看视频?
  4. STM32的:外部中断线EXTIN和外部中断向量EXTIN_IRQn和中断服务程序入口EXTIN_IRQHandler详解
  5. windows 2012 r2 x64 安装IIS注意事项
  6. android 让应用恢复前台显示_android – 当应用程序返回前台时出现问题
  7. 最新 springBoot整合shiro(10分钟教程)
  8. Windows2003下面的批量创建随机用户程序(.NET多线程)
  9. ABAP里的OAuth2.0 Standard Package
  10. 基于JBox2d物理引擎和canvas的游戏开发实例
  11. javascript实现窗口随着鼠标移动且移动路径重现
  12. 苹果新闻订阅服务Apple News +推出48小时获得逾20万用户
  13. 没有流氓软件,只有流氓行为
  14. Form组件之详解字段
  15. MyBatis Plus 导入IdType失败
  16. 印地语自由对话语音识别数据库-200人
  17. 研究生应如何合理管理时间
  18. speedoffice(Excel)如何隐藏编辑栏
  19. 计算机网络与互联网的区别,计算机网络与互联网的主要区别是什么?
  20. abc能否构成三角形c语言,编写程序输入三角形三边a.b.c 判断abc能否构成三角形...

热门文章

  1. Stardust 案例:制作散景光斑
  2. 贝叶斯公式/贝叶斯法则/贝叶斯定理
  3. 贝叶斯法则与虚假阳性的病例
  4. SpringBoot迷你天猫商城系统(附源码)
  5. iOS应用的内测签名、分发托管平台:蒲公英内测分发平台简介
  6. 全闪存存储、混合闪存存储
  7. 一款Python实用神器,5 行 Python 代码 实现一键批量扣图
  8. MySQL 数据库单表查询——高级查询
  9. 韩国5G产品定价及营销策略剖析
  10. warring:integer conversion resulted in a change of sign