首页 数据库 mysql教程 Sysbench介绍与使用

Sysbench介绍与使用

Jun 07, 2016 pm 05:23 PM
数据库

最近用sysbench进行了较多的性能测试,也总结一下它的特点和用法和需要注意的事项。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 [] 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Go语言如何实现数据库的增删改查操作? Go语言如何实现数据库的增删改查操作? Mar 27, 2024 pm 09:39 PM

Go语言如何实现数据库的增删改查操作?

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

在PHP中使用MySQLi建立数据库连接的详尽教程

Hibernate 如何实现多态映射? Hibernate 如何实现多态映射? Apr 17, 2024 pm 12:09 PM

Hibernate 如何实现多态映射?

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 Jul 18, 2024 am 05:48 AM

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片

MySQL与PL/SQL的异同比较 MySQL与PL/SQL的异同比较 Mar 16, 2024 am 11:15 AM

MySQL与PL/SQL的异同比较

深入解析HTML如何读取数据库 深入解析HTML如何读取数据库 Apr 09, 2024 pm 12:36 PM

深入解析HTML如何读取数据库

MySQL数据库管理系统的基本原理解析 MySQL数据库管理系统的基本原理解析 Mar 25, 2024 pm 12:42 PM

MySQL数据库管理系统的基本原理解析

Go WebSocket 如何与数据库集成? Go WebSocket 如何与数据库集成? Jun 05, 2024 pm 03:18 PM

Go WebSocket 如何与数据库集成?

See all articles