sysbench压测过程
1.sysbench安装(sysbench1.1.0)
[root@master soft]# ls sysbench1.1.0.zip
sysbench1.1.0.zip 解压: [root@master soft]# unzip sysbench1.1.0.zip 安装依赖: yum -y install mysql-devel yum -y install make automake libtool pkgconfig libaio-devel vim-common 编译安装: cd sysbench-master/ ./autogen.sh ./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib make make install cd /usr/local/share/sysbench 若编译安装出错的解决方法: ls -l /usr/local/mysql/lib/libmysqlclient.so.18* ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/ vi /etc/ld.so.conf export LD_LIBRARY_PATH=/usr/local/mysql/lib ldconfig |
2.sysbench压测说明
[root@master sysbench-master]# cd /usr/local/share/sysbench
[root@master sysbench]# ls bulk_insert.lua oltp_delete.lua oltp_point_select.lua oltp_read_write.lua oltp_update_non_index.lua select_random_points.lua tests oltp_common.lua oltp_insert.lua oltp_read_only.lua oltp_update_index.lua oltp_write_only.lua select_random_ranges.lua 使用其中的oltp_read_write.lua进行读写压力测试: 第1步:构建数据 sysbench oltp_read_write.lua --mysql-socket=/tmp/mysql3306.sock --mysql-host=192.168.88.8 --mysql-port=3306 --mysql-db=lbgtest --mysql-user=root --mysql-password=root --table_size=50000 --tables=10 --threads=20 --time=60 --report-interval=10 prepare 第2步:压测 sysbench oltp_read_write.lua --mysql-socket=/tmp/mysql3306.sock --mysql-host=192.168.88.8 --mysql-port=3306 --mysql-db=lbgtest --mysql-user=root --mysql-password=root --table_size=50000 --tables=10 --threads=20 --time=60 --report-interval=10 run 选项说明: --mysql-db=lbgtest --用来测试的库,需先创建好。 --table-size=100000 表示每个测试表数据量为 100000 --tables=10 测试的表的个数(会自动创建)。 --threads=20 20个并发链接进行测试。 time=60 表示测试总时长为 60秒 --report-interval=10 表示每10秒输出一次测试进度报告 注明:上面的oltp_read_write.lua可写成绝对路径,将prepare改为run即可进行测试。 |
3.压测示例
建测试库:
mysql> create database lbgtest; 创建测试数据: [root@master sysbench]# sysbench oltp_read_write.lua --mysql-socket=/tmp/mysql3306.sock --mysql-host=192.168.88.8 --mysql-port=3306 --mysql-db=lbgtest --mysql-user=root --mysql-password=root --table_size=50000 --tables=10 --threads=20 --time=60 --report-interval=10 prepare sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3) Initializing worker threads... Creating table 'sbtest7'... Creating table 'sbtest10'... Creating table 'sbtest8'... Creating table 'sbtest3'... Creating table 'sbtest1'... Creating table 'sbtest2'... Creating table 'sbtest6'... Creating table 'sbtest5'... Creating table 'sbtest4'... Creating table 'sbtest9'... Inserting 50000 records into 'sbtest3' Inserting 50000 records into 'sbtest5' Inserting 50000 records into 'sbtest1' Inserting 50000 records into 'sbtest6' Inserting 50000 records into 'sbtest9' Inserting 50000 records into 'sbtest2' Inserting 50000 records into 'sbtest4' Inserting 50000 records into 'sbtest8' Inserting 50000 records into 'sbtest10' Inserting 50000 records into 'sbtest7' Creating a secondary index on 'sbtest5'... Creating a secondary index on 'sbtest6'... Creating a secondary index on 'sbtest4'... Creating a secondary index on 'sbtest7'... Creating a secondary index on 'sbtest1'... Creating a secondary index on 'sbtest9'... Creating a secondary index on 'sbtest3'... Creating a secondary index on 'sbtest2'... Creating a secondary index on 'sbtest10'... Creating a secondary index on 'sbtest8'... 完成后查看测试数据: 可以在测试库里看到数据: mysql> use lbgtest; mysql> show tables; +-------------------+ | Tables_in_lbgtest | +-------------------+ | sbtest1 | | sbtest10 | | sbtest2 | | sbtest3 | | sbtest4 | | sbtest5 | | sbtest6 | | sbtest7 | | sbtest8 | | sbtest9 | +-------------------+ mysql> select count(1) from sbtest1; +----------+ | count(1) | +----------+ | 50000 | +----------+ 1 row in set (0.02 sec) 测试: [root@master sysbench]# sysbench oltp_read_write.lua --mysql-socket=/tmp/mysql3306.sock --mysql-host=192.168.88.8 --mysql-port=3306 --mysql-db=lbgtest --mysql-user=root --mysql-password=root --table_size=50000 --tables=10 --threads=20 --time=60 --report-interval=10 run sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3) Running the test with following options: Number of threads: 20 Report intermediate results every 10 second(s) Initializing random number generator from current time Initializing worker threads... Threads started! [ 10s ] thds: 20 tps: 112.24 qps: 2281.24 (r/w/o: 1598.45/456.37/226.42) lat (ms,95%): 303.33 err/s: 0.00 reconn/s: 0.00 [ 20s ] thds: 20 tps: 141.68 qps: 2829.12 (r/w/o: 1983.33/562.42/283.36) lat (ms,95%): 244.38 err/s: 0.00 reconn/s: 0.00 [ 30s ] thds: 20 tps: 160.33 qps: 3198.39 (r/w/o: 2239.41/638.32/320.66) lat (ms,95%): 219.36 err/s: 0.00 reconn/s: 0.00 [ 40s ] thds: 20 tps: 161.93 qps: 3248.02 (r/w/o: 2272.64/651.52/323.86) lat (ms,95%): 207.82 err/s: 0.00 reconn/s: 0.00 [ 50s ] thds: 20 tps: 153.09 qps: 3055.18 (r/w/o: 2140.95/608.16/306.08) lat (ms,95%): 227.40 err/s: 0.00 reconn/s: 0.00 [ 60s ] thds: 20 tps: 167.67 qps: 3354.30 (r/w/o: 2347.85/671.10/335.35) lat (ms,95%): 223.34 err/s: 0.00 reconn/s: 0.00 SQL statistics: queries performed: read: 125762 write: 35932 other: 17966 total: 179660 transactions: 8983 (149.56 per sec.) queries: 179660 (2991.27 per sec.) ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.) Throughput: events/s (eps): 149.5636 time elapsed: 60.0614s total number of events: 8983 Latency (ms): min: 18.81 avg: 133.67 max: 922.85 95th percentile: 240.02 sum: 1200750.85 Threads fairness: events (avg/stddev): 449.1500/6.83 execution time (avg/stddev): 60.0375/0.04 |
4.测试结果说明
queries performed:
read: 125762 //读总数 write: 35932 //写⼊总数 other: 17966 //其他操作 total: 179660 //总操作数 transactions: 8983 (149.56 per sec.) //TPS每秒事务数 queries: 179660 (2991.27 per sec.) //QPS 每秒的读写请求数 ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.) Throughput: events/s (eps): 149.5636 time elapsed: 60.0614s //总时间 total number of events: 8983 //总事务数 其中主要看: transactions: 8983 (149.56 per sec.) //TPS每秒事务数 queries: 179660 (2991.27 per sec.) //QPS 每秒的读写请求数 |
sysbench压测过程的更多相关文章
- 【MySQL】sysbench压测服务器及结果解读
主要压测范围包括CPU测试.磁盘IO测试.线程测试.OLTP测试等,那么sysbench就可以满足我们的压测需求.下面我们简单来看下sysbench的安装使用以及压测结果的解读. 一.sysbench ...
- 04:Sysbench压测-innodb_flush_log_at_trx_commit,sync_binlog参数对性能的影响
目录 sysbench压测-innodb_flush_log_at_trx_commit,sync_binlog参数对性能的影响 一.OLTP测试前准备 二.MySQL 数据落盘的过程 三.参数说明 ...
- 压测过程中,获取不到redis连接池,发现redis连接数高
说明:图片截得比较大,浏览器放大倍数看即可(涉及到隐私,打了码,请见谅,如果有疑问,欢迎骚扰). 最近在压测过程中,出现获取不到redis连接池的问题 xshell连接redis服务器,查看连接数,发 ...
- 压测过程中使用nmon对服务器资源的监控
1.nmon工具的下载和安装: 官网:http://nmon.sourceforge.net/pmwiki.php 下载完成后进行解压,更改权限:chmod 777 2.查看linux系统的版本,再使 ...
- sysbench对MySQL的压测,使用sysbench压测磁盘io
QPS - query per secondTPS - transaction per second 不是特别关注,每个业务场景中事务标准是不一样的 Ⅰ.sysbench测试框架 Ⅱ.常用测试脚本 [ ...
- 05:Sysbench压测-innodb_deadlock_detect参数对性能的影响
目录 sysbench压测-innodb_deadlock_detect参数对性能的影响 一.OLTP测试前准备 二.进行OLTP测试 三.测试结果解读: 四.关于测试后的结论: 五.关于测试后的性能 ...
- 用sysbench压测MySQL,通过orzdba监控MySQL
1.1 安装sysbench wget https://codeload.github.com/akopytov/sysbench/zip/0.5 unzip 0.5 cd sysbench-0.5/ ...
- jmeter压测过程中报java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
由于在java中添加了第三方安全策略文件,具体请看https://www.cnblogs.com/mrjade/p/10886378.html,导致在用jmeter压测过程中会遇到以下错误 解决办法: ...
- jmeter进行分布式压测过程与 注意事项
jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式 ...
随机推荐
- Js中Currying的应用
Js中Currying的应用 柯里化Currying是把接受多个参数的函数变换成接受一个单一参数的函数,并且返回接受余下的参数且返回结果的新函数的技术,是函数式编程应用. 描述 如果说函数式编程中有两 ...
- main函数标准写法
main函数签名 C++中允许两种格式,带参数的和不带参数的: int main() int main(int argc, const char* argv[]) 和C标准不同,C++中main函数必 ...
- Android HandlerThread 详解
概述 HandlerThread 相信大家都比较熟悉了,从名字上看是一个带有 Handler 消息循环机制的一个线程,比一般的线程多了消息循环的机制,可以说是Handler + Thread 的结合, ...
- CentOS 7的安装与部署 02
2.2 操作系统安装过程 第01步:加载系统镜像 第02步:启动虚拟主机 第03步:系统安装选择界面修改网卡名称 启动虚拟机后,会出现选择菜单,首先用方向键选择 install centos7选项,然 ...
- 四年了自学了C/C++那么久,还写不出项目,正常吗?
前言: 这是之前在V2EX职场话题里看到的一个话题,类似的小编身边人呢也有相似的困扰. 现在大学里基本都开设了计算机课程,看了那么多相关知识性的书,但学了四年出来,仍然写不出项目,这肯定是有问题的. ...
- HTML5/HTML 4.01/XHTML 元素和有效的 DTD
HTML5/HTML 4.01/XHTML 元素和有效的 DTD 下面的表格列出了所有的 HTML5/HTML 4.01/XHTML 元素,以及它们会出现在什么文档类型 (DTD) 中: 标签 HTM ...
- PyTorch常用参数初始化方法详解
1. 均匀分布 torch.nn.init.uniform_(tensor, a=0, b=1) 从均匀分布U(a, b)中采样,初始化张量. 参数: tensor - 需要填充的张量 a - 均匀分 ...
- CPU 运算实现过程
总结 加法运算过程:十进制:1+1=2二进制01+01=10实现过程: 在做加法时CPU内部会调用加法器,实际上加法运算器所做的工作就是按位与操作和进位运算!所谓的进位运算规则和十进制一样满10进一而 ...
- PowerShell 定时输出citrix desktop昨日连接会话
asnp citrix*$now_date = [datetime]::Today$day2 = [datetime]::Today - [TimeSpan]::FromHours(24)$fiel_ ...
- vue渐进式开发的理解和指令
1.vue渐进式开发 vue是一个渐进式的框架,轻量,易于上手,为啥是渐进式那,我当时也很蒙,比如的官网是jquery写的,就可以通过script标签引入事先准备好的vue.min.js的压缩源代码或 ...