gpt4 book ai didi

Sysbench多线程性能测试工具

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Sysbench多线程性能测试工具由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

最近用sysbench进行了较多的性能测试,也总结一下它的特点和用法和需要注意的事项。sysbench是一个多线程性能测试工具,可以进行CPU/内存/IO/数据库等性能测试。不过我绝大多数的时候都是用它来对数据库(MySQL)进行oltp测试。它能测哪些东西,怎么测让我从它的命令帮助来回答。  ~/zbs$ sysbench --help  Missing required command argument.  Usage:  sysbench [general-options]... --test=<test-name> [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=<test-mode> 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] 。

最后此篇关于Sysbench多线程性能测试工具的文章就讲到这里了,如果你想了解更多关于Sysbench多线程性能测试工具的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com