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. 移动吉比特H2-2光猫超级用户与密码

    移动吉比特H2-2光猫超级用户与密码 超级用户名CMCCAdmin 密码aDm8H%MdA----------------版权声明:本文为CSDN博主「BenSon.Album」的原创文章,遵循CC ...

  2. C++ concurrent_queue

    ConcurrentQueue 用C++11提供的多线程类实现一个线程安全的队列: #include <queue> #include <mutex> #include < ...

  3. Get提交方式中文乱码

    Get提交方式中文乱码 今天在servlet使用中,在Get方法中获取提交的中文参数,发现是乱码,我用的是Tomcat7. 在Tomcat9中: get方式的参数是放在请求头中,而Tomcat9对请求 ...

  4. 【暑假集训】HZOI2019 水站 多种解法

    题目内容 已知有一个\(n\)层的水站: \(W_i\)表示未操作之前第\(i\)层的已有水量: \(L_i\)表示第\(i\)个水站能够维持或者储存的水的重量: 表示在第\(P_i\)层进行减压放水 ...

  5. 千万不要往 Shell 里粘贴命令!

    对于用惯了 IDE 的程序员来说,在终端里敲命令可能没那么顺手,也记不住那么多复杂的命令.比较偷懒的做法就是网上搜相关的命令,复制到剪贴板往命令行窗口里一贴,完事! 但是这么做有很大的风险,为什么呢? ...

  6. Spring Boot与多数据源那点事儿~

    持续原创输出,点击上方蓝字关注我 目录 前言 写这篇文章的目的 什么是多数据源? 何时用到多数据源? 整合单一的数据源 整合Mybatis 多数据源如何整合? 什么是动态数据源? 数据源切换如何保证线 ...

  7. oracle sql developer 启动java.exe设置错误

    1.找到oracle安装目录下的jdk,如:E:\app\Administrator\product\11.2.0\dbhome_1\jdk 2.找到oracle安装目录下的developer路径:E ...

  8. EXCEL计数时间差--分钟数

  9. 20202427-张启辰《Python3初学:罗马数字转阿拉伯数字》

    目录 20202427-张启辰<Python3初学:罗马数字转阿拉伯数字> 1.规则 2.局限性 3.Python3解决 20202427-张启辰<Python3初学:罗马数字转阿拉 ...

  10. Luogu P6830 [IOI2020]Connecting Supertrees

    题意 好复杂,我就不写了. 题解 口胡了一下,发现我居然会 IOI 的题? 首先发现有 \(3\) 一定不合法,因为连通块里面有一个环的话 \(p_{i,j}\) 最多为 \(2\),有两个环的话就存 ...