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进行分布式 ...
随机推荐
- Android开发Settings源码分析之主界面加载(二)
现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套[Android进阶学习视频].[全套Android面试秘籍].[Android知识点PDF] ...
- C语言-入门级编程语言--编程小白首选
我们都知道计算机很厉害,利用计算机可以高效地处理和加工信息,随着计算机技术的发展,计算机的功能越来越强大,不但能够处理数值信息,而且还能处理各种文字.图形.图像.动画.声音等非数值信息. 在199 ...
- Spark核心组件通识概览
在说Spark之前,笔者在这里向对Spark感兴趣的小伙伴们建议,想要了解.学习.使用好Spark,Spark的官网是一个很好的工具,几乎能满足你大部分需求.同时,建议学习一下scala语言,主要基于 ...
- Vagrant系列(一)----win10搭建Vagrant+VirtualBox环境_
一.Vagrant是什么? vagrant是一个操作虚拟机的工具.是一个基于Ruby的工具,用于创建和部署虚拟化开发环境. 通过命令和配置文件来管理虚拟机,很快就能完成一套开发环境的 ...
- 某次burp抓包出错的解决办法
前些日子同事发微信问我一个问题 没听懂他说的没回显是啥意思,于是叫他把站发给我. 浏览器不挂burp代理能正常打开,挂上burp代理以后浏览器显示连接超时 首先测试burp能抓其他的包应不是这个原因 ...
- 一文秒懂!Python字符串格式化之format方法详解
format是字符串内嵌的一个方法,用于格式化字符串.以大括号{}来标明被替换的字符串,一定程度上与%目的一致.但在某些方面更加的方便 1.基本用法 1.按照{}的顺序依次匹配括号中的值 s = &q ...
- java安全编码指南之:线程安全规则
目录 简介 注意线程安全方法的重写 构造函数中this的溢出 不要在类初始化的时候使用后台线程 简介 如果我们在多线程中引入了共享变量,那么我们就需要考虑一下多线程下线程安全的问题了.那么我们在编写代 ...
- 从0实现python批量爬取p站插画
一.本文编写缘由 很久没有写过爬虫,已经忘得差不多了.以爬取p站图片为着手点,进行爬虫复习与实践. 欢迎学习Python的小伙伴可以加我扣群86七06七945,大家一起学习讨论 二.获取网页源码 爬取 ...
- ES index not_analyzed
在最初创建索引mapping时,未指定index:not_analyzed "exact_value": { "type": "string" ...
- Go之NSQ简介,原理和使用
NSQ简介 NSQ是Go语言编写的一个开源的实时分布式内存消息队列,其性能十分优异. NSQ 是实时的分布式消息处理平台,其设计的目的是用来大规模地处理每天数以十亿计级别的消息.它具有分布式和去中心化 ...