(转)sysbench部署与参数详解
sysbench部署
原文:https://wing324.github.io/2017/02/07/sysbench%E9%83%A8%E7%BD%B2/
sysbench作为每一个系统管理员,都应该被用过,因为它实在太有点能耐~
操作系统:Debian8
数据库版本:MySQL 5.6.X
sysbench版本:1.0
将sysbench源码放置在/usr/local目录下
> mv sysbench /usr/local>
>
安装依赖包
> apt-get install m4 autoconf automake libtool>
>
切换至sysbench安装目录,运行autogen.sh脚本
> cd /usr/local/sysbench> ./autogen.sh>
>
运行configure
> # /usr/local/mysql为MySQL安装目录> ./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib>> # 如果此处使用的是Mariadb,则includes路径为/usr/local/mysql/include/mysql>
>
运行make
> make>
>
软链sysbench
> ln -s /usr/local/sysbench/sysbench/sysbench /usr/bin/sysbench>
至此,sysbench安装完成啦~
sysbench功能测试参数
原文:https://wing324.github.io/2017/02/07/sysbench%E5%8F%82%E6%95%B0%E8%AF%A6%E8%A7%A3/
一、sysbench功能测试参数
fileio
磁盘IO测试。
cpu
CPU性能测试。
memory
内存分配及传输速度测试。
threads
线程性能测试。
mutex
互斥性能测试。
提示:
还存在oltp测试,为sysbench默认测试。
二、通用参数
–num-threads=N
使用的线程数量,默认值为1。
–max-requests=N
总请求数,与
--max-time选择一个设置即可,默认值为10000。
–max-time=N
总执行时间,与
--max-requests选择一个设置即可,单位为s,默认值为0。
–forced-shutdown=STRING
超过
--max-time后强制中断,默认为off。
–thread-stack-size=SIZE
每个线程的stack大小,默认为64K。
–tx-rate=N
sysbench尝试像数据库发送的事务数tps。
–report-interval=N
表示N秒输出一次测试进度报告,0表示关闭测试进度报告输出,仅输出最终的报告结果,默认值为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
测试类型,可选项:fileio/cpu/memory/threads/mutex/oltp脚本路径。
–debug=[on|off]
debug模式输出,默认值为off。
–validate=[on|off]
在可能的情况下执行验证检查,默认为off。
–help=[on|off]
输出help信息,默认为off。
–version=[on|off]
输出版本信息,默认为off。
–rand-type=STRING
表示随机类型的模式,共有4种模式:uniform(固定),gaussian(高斯),special(特定),pareto(帕雷特),默认值为:special。
–rand-spec-iter
number of iterations used for numbers generation [12]
–rand-spec-pct=N
对于’special’随机模式中指定值的比例,默认值为75。
–rand-seed=N
seed for random number generator, ignored when 0 [0]
–rand-pareto-h=N
parameter h for pareto distibution [0.2]
–config-file
sysbench配置文件路径。
三、日志参数
–verbosity=N
初测试报告信息之外的信息输出级别,5为debug信息,0位仅仅输出严重信息,默认值为3。
–percentile=N
查询相应时间采样的百分比,默认值为95%。
四、通用数据库参数
–db-driver=STRING
特殊的数据库驱动。
–db-ps-mode=STRING
SQL是否需要预编译,模式有:auto/disable,默认为disable。
–db-debug=[on|off]
输出数据库层面的debug信息,默认为off。
五、MySQL相关参数
–mysql-host=[LIST,…]
MySQL服务器IP/hostname,默认:localhost。
–mysql-port=[LIST,…]
MySQL端口号,默认:3306。
–mysql-socket=[LIST,…]
MySQL的socket文件。
–mysql-user=STRING
MySQL的用户名,默认:sbtest
–mysql-password=STRING
MySQL用户密码。
–mysql-db=STRING
MySQL数据库。
–mysql-table-engine=STRING
用户测试表的表结构引擎,可选项:myisam/innodb/bdb/heap/ndbcluster/federated,默认值:innodb。
–mysql-engine-trx=STRING
存储引擎是否使用事务,可选项:yes,no,auto,默认值:auto。
–mysql-ssl=[on|off]
使用SSL连接,默认值:off。
–mysql-ssl-cipher=STRING
为SSL连接指定密码。
–mysql-compression=[on|off]
使用压缩,默认值:off。
–myisam-max-rows=N
MyISAM表的最大记录数,默认值:1000000。
–mysql-debug=[on|off]
输出MySQL的debug信息,默认值:off。
–mysql-ignore-errors=[LIST,…]
MySQL忽略的错误代码,可选项:1213/1020/1205
–mysql-dry-run=[on|off]
假装MySQL所有客户端API都被调用,但实际并不执行它们,默认值:off
六、fileio相关参数
sysbench --test=fileio help
–file-num=N
创建文件的数量,默认值:128。
–file-block-size=N
每次IO操作的block大小,默认值:16K。
–file-total-size=SIZE
所有文件大小总和,默认值:2G。
–file-test-mode=STRING
测试模式:seqwr(顺序写), seqrewr(顺序读写), seqrd(顺序读), rndrd(随机读), rndwr(随机写), rndrw(随机读写)。
–file-io-mode
文件操作模式:sync(同步),async(异步),mmap(快速map映射),默认值:sync。
–file-async-backlog
number of asynchronous operatons to queue per thread [128]。
–file-extra-flags=STRING
使用额外的标志符来打开文件{sync,dsync,direct}。
–file-fsync-freq=N
在完成N次请求之后,执行fsync(),0表示不使用fsync,默认值:100。
–file-fsync-all=[on|off]
每次写操作后执行fsync(),默认值:off。
–file-fsync-end=[on|off]
测试结束后执行fsync(),默认值:on。
–file-fsync-mode=STRING
使用fsync或fdatasync方法进行同步,默认值:fsync。
–file-merged-requests=N
尽可能的合并N个IO请求数,0表示不合并,默认值:0。
–file-rw-ratio=N
测试时候的读写比例,默认值:1.5(即3:2)。
七、cpu相关参数
sysbench --test=cpu help
–cpu-max-prime=N
最大质数生成器的上限,默认值:10000。
八、memory相关参数
sysbench --test=memory help
–memory-block-size=SIZE
测试时内存块大小,默认值:1K。
–memory-total-size=SIZE
传输数据可使用的最大内存大小,默认值:100G。
–memory-scope=STRING
内存访问范围:global/local,默认值:global。
–memory-hugetlb=[on|off
从HugeTLB池分配内存,默认值:off。
–memory-oper=STRING
内存操作类型:read/ write/none,默认值:write。
–memory-access-mode=STRING
内存访问方式:seq(顺序)/rnd(随机),默认值:seq。
九、threads相关参数
sysbench --test=threads help
–thread-yields=N
每个请求产生多少线程,默认值:1000。
–thread-locks=N
每个线程的锁的数量,默认值:8。
十、mutex相关参数
sysbench --test=mutex help
–mutex-num=N
数组互斥的总大小,默认值:4096。
–mutex-locks=N
每个线程互斥锁的数量,默认值:50000。
–mutex-loops=N
内部互斥锁的空循环数量,默认值:10000
十一、oltp相关参数
待研究。
(转)sysbench部署与参数详解的更多相关文章
- Rsync 服务部署与参数详解
Rsync 简介 rsync 是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平台. 传统的 ...
- 【DataGuard】部署Data Guard相关参数详解 (转载)
原文地址:[DataGuard]部署Data Guard相关参数详解 作者:secooler 有关物理Data Guard部署参考<[DataGuard]同一台主机实现物理Data Gua ...
- Nginx主配置参数详解,Nginx配置网站
1.Niginx主配置文件参数详解 a.上面博客说了在Linux中安装nginx.博文地址为:http://www.cnblogs.com/hanyinglong/p/5102141.html b.当 ...
- chattr的常用参数详解
chattr的常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,有的运维工程师不得不和开发和测试打交道,在我们公司最常见的就是部署接口.每天每个人部署的 ...
- Haproxy均衡负载部署和配置文件详解
HAproxy均衡负载部署和配置文件详解 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.根据官方数据,其最高极限支持10G ...
- Redis配置参数详解
Redis配置参数详解 /********************************* GENERAL *********************************/ // 是否作为守护进 ...
- web缓存服务器varnish-4.1.6的部署及配置详解
web缓存服务器varnish-4.1.6的部署及配置详解 1.安装varnish4.1.6安装依赖 yum install -y autoconf automake jemalloc-devel l ...
- [spark]-Spark2.x集群搭建与参数详解
在前面的Spark发展历程和基本概念中介绍了Spark的一些基本概念,熟悉了这些基本概念对于集群的搭建是很有必要的.我们可以了解到每个参数配置的作用是什么.这里将详细介绍Spark集群搭建以及xml参 ...
- [转帖]持久化journalctl日志清空命令查看配置参数详解
持久化journalctl日志清空命令查看配置参数详解 最近 linux上面部署服务 习惯使用systemd 进行处理 这样最大的好处能够 使用journalctl 进行查看日志信息. 今天清理了下 ...
随机推荐
- jQuery动画中stop()与 finish()区别
stop():接受三个参数,(要停止的动画名称:是否清空队列中的动画:是否当前动画立即完成) stop()相当于stop(false,false)表示停止执行当前动画,后续动画接着进行 stop(tr ...
- C++继承-重载-多态-虚函数
C++ 继承 基类 & 派生类 一个类可以派生自多个类,这意味着,它可以从多个基类继承数据和函数.定义一个派生类,我们使用一个类派生列表来指定基类.类派生列表以一个或多个基类命名,形式如下: ...
- 使用Intel的FPGA电源设计FPGA 供电的常用反馈电阻阻值
使用Intel的FPGA电源设计FPGA 供电的常用反馈电阻阻值. 当前仅总结使用EN5339芯片的方案 Vout = Ra*0.6/Rb + 0.6 芯片手册推荐Ra取348K,则 3.3V时,取R ...
- 层层递进Struts1(五)之处理流程
这篇博客我们深入Struts框架执行部分源码,从ActionServlet的process函数开始,看一下其内在的执行过程. 流程图 以下流程图展示的是ActionServlet和RequestPro ...
- Android-系统绘图真相
系统绘图真相:这篇博客是专门讲解,系统内部是如何控制图片的变化,例如:图片缩放/图片旋转/图片平移/等等 注意:⚠️在真实开发过程中:关于图片的 图片缩放/图片旋转/图片平移/等等 操作 是使用动画A ...
- java 传参数时 类型后跟 3个点 "..." 的意义
对照代码和运行结果便知"..." 的意义 import java.util.ArrayList; public class StringDemo { public static v ...
- TFS签入代码时,自动修改工作项的状态为“已解决”
Visual Studio中有一个很酷的功能,就是签入代码到TFS库时,可以关联相应的工作项,实现代码与工作项(需求.任务.Bug等)的关联,从而实现代码的跟踪. 在关联工作项的过程中,如果工作项具备 ...
- Angularjs 实现页面遮罩层功能
实现效果: 1.loading指令: "use strict" /** * Created by yw on 2015/9/27. * user defined loading d ...
- tar.gz 解压
tar -xzvf .tar.gz tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思): -x :解开一个压缩文件的参数指令! ...
- 记那些年在asp.net mvc上挖过的坑
表现: IDE是vs2017.是在 A 控制器方法断点后,却怎么也运行不到那个位置,但是又正常返回页面.该方法位于web项目引用的控制器类库上的一个控制器,试过它隔壁的控制器,一切正常. 但每次访问该 ...