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压测过程的更多相关文章

  1. 【MySQL】sysbench压测服务器及结果解读

    主要压测范围包括CPU测试.磁盘IO测试.线程测试.OLTP测试等,那么sysbench就可以满足我们的压测需求.下面我们简单来看下sysbench的安装使用以及压测结果的解读. 一.sysbench ...

  2. 04:Sysbench压测-innodb_flush_log_at_trx_commit,sync_binlog参数对性能的影响

    目录 sysbench压测-innodb_flush_log_at_trx_commit,sync_binlog参数对性能的影响 一.OLTP测试前准备 二.MySQL 数据落盘的过程 三.参数说明 ...

  3. 压测过程中,获取不到redis连接池,发现redis连接数高

    说明:图片截得比较大,浏览器放大倍数看即可(涉及到隐私,打了码,请见谅,如果有疑问,欢迎骚扰). 最近在压测过程中,出现获取不到redis连接池的问题 xshell连接redis服务器,查看连接数,发 ...

  4. 压测过程中使用nmon对服务器资源的监控

    1.nmon工具的下载和安装: 官网:http://nmon.sourceforge.net/pmwiki.php 下载完成后进行解压,更改权限:chmod 777 2.查看linux系统的版本,再使 ...

  5. sysbench对MySQL的压测,使用sysbench压测磁盘io

    QPS - query per secondTPS - transaction per second 不是特别关注,每个业务场景中事务标准是不一样的 Ⅰ.sysbench测试框架 Ⅱ.常用测试脚本 [ ...

  6. 05:Sysbench压测-innodb_deadlock_detect参数对性能的影响

    目录 sysbench压测-innodb_deadlock_detect参数对性能的影响 一.OLTP测试前准备 二.进行OLTP测试 三.测试结果解读: 四.关于测试后的结论: 五.关于测试后的性能 ...

  7. 用sysbench压测MySQL,通过orzdba监控MySQL

    1.1 安装sysbench wget https://codeload.github.com/akopytov/sysbench/zip/0.5 unzip 0.5 cd sysbench-0.5/ ...

  8. jmeter压测过程中报java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider

    由于在java中添加了第三方安全策略文件,具体请看https://www.cnblogs.com/mrjade/p/10886378.html,导致在用jmeter压测过程中会遇到以下错误 解决办法: ...

  9. jmeter进行分布式压测过程与 注意事项

    jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式 ...

随机推荐

  1. Js中Currying的应用

    Js中Currying的应用 柯里化Currying是把接受多个参数的函数变换成接受一个单一参数的函数,并且返回接受余下的参数且返回结果的新函数的技术,是函数式编程应用. 描述 如果说函数式编程中有两 ...

  2. main函数标准写法

    main函数签名 C++中允许两种格式,带参数的和不带参数的: int main() int main(int argc, const char* argv[]) 和C标准不同,C++中main函数必 ...

  3. Android HandlerThread 详解

    概述 HandlerThread 相信大家都比较熟悉了,从名字上看是一个带有 Handler 消息循环机制的一个线程,比一般的线程多了消息循环的机制,可以说是Handler + Thread 的结合, ...

  4. CentOS 7的安装与部署 02

    2.2 操作系统安装过程 第01步:加载系统镜像 第02步:启动虚拟主机 第03步:系统安装选择界面修改网卡名称 启动虚拟机后,会出现选择菜单,首先用方向键选择 install centos7选项,然 ...

  5. 四年了自学了C/C++那么久,还写不出项目,正常吗?

    前言: 这是之前在V2EX职场话题里看到的一个话题,类似的小编身边人呢也有相似的困扰. 现在大学里基本都开设了计算机课程,看了那么多相关知识性的书,但学了四年出来,仍然写不出项目,这肯定是有问题的. ...

  6. HTML5/HTML 4.01/XHTML 元素和有效的 DTD

    HTML5/HTML 4.01/XHTML 元素和有效的 DTD 下面的表格列出了所有的 HTML5/HTML 4.01/XHTML 元素,以及它们会出现在什么文档类型 (DTD) 中: 标签 HTM ...

  7. PyTorch常用参数初始化方法详解

    1. 均匀分布 torch.nn.init.uniform_(tensor, a=0, b=1) 从均匀分布U(a, b)中采样,初始化张量. 参数: tensor - 需要填充的张量 a - 均匀分 ...

  8. CPU 运算实现过程

    总结 加法运算过程:十进制:1+1=2二进制01+01=10实现过程: 在做加法时CPU内部会调用加法器,实际上加法运算器所做的工作就是按位与操作和进位运算!所谓的进位运算规则和十进制一样满10进一而 ...

  9. PowerShell 定时输出citrix desktop昨日连接会话

    asnp citrix*$now_date = [datetime]::Today$day2 = [datetime]::Today - [TimeSpan]::FromHours(24)$fiel_ ...

  10. vue渐进式开发的理解和指令

    1.vue渐进式开发 vue是一个渐进式的框架,轻量,易于上手,为啥是渐进式那,我当时也很蒙,比如的官网是jquery写的,就可以通过script标签引入事先准备好的vue.min.js的压缩源代码或 ...