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 每秒的读写请求数 |
最新文章
- iOS空心圆下载进度指示器控件
- Scala:没有continue,break怎么办?
- The Triangle
- [代码] 类似 YYText 将表情文本转换成表情字符
- PHP Warning: Module 'modulename' already loaded in Unknown on line 0
- NETBEANS + XDEBUG + IIS PHP 代码 调试 DEBUG
- Java学习笔记--注解
- Android05-UI02布局,自定义控件,ListView
- Android中的单元测试
- No curses/termcap library found
- Java经典编程题50道之十八
- SpringAOP-JDK 动态代理和 CGLIB 代理
- 【作业】HansBug的前三次OO作业分析与小结
- iOS中NSBundle的介绍
- Android Studio 去除上方标题
- nginx 正则及rewrite常用规则实例
- 【轻松前端之旅】HTML的块元素、行内元素和空元素
- [JLOI2015]装备购买 (高斯消元)
- discuz 不能上传头像提示can not write to the data/tmp folder
- input标签(单选框和复选框)
热门文章
- day19 Pyhton学习 递归函数
- 安装ipython
- 安装虚拟机V15.5及LinuxCentOS6简易步骤
- hugo主题文档-manpassant
- spring boot:spring security实现oauth2授权认证(spring boot 2.3.3)
- spring boot: 用thymeleaf嵌套循环展示多层数据(spring boot 2.3.2)
- centos8平台用NetworkManager/nmcli管理网络
- 跟我一起学.NetCore之MVC过滤器,这篇看完走路可以仰着头走
- poj1655 Balancing Act (dp? dfs?)
- node的function函数和路由代码的小例子