iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Sysbench基准测试的示例分析
  • 514
分享到

Sysbench基准测试的示例分析

2024-04-02 19:04:59 514人浏览 独家记忆
摘要

这篇文章给大家分享的是有关Sysbench基准测试的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 Sysbench和TPCC-Mysql一样

这篇文章给大家分享的是有关Sysbench基准测试的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Sysbench和TPCC-Mysql一样,也是一款基准测试的工具

TPCC-mysql
Http://blog.itpub.net/29254281/viewspace-1195589/

相对于TPCC-Mysql,Sysbench不仅可以对MySQL,也可以对oracle,postgresql进行基准测试。

源码下载地址:
https://launchpad.net/sysbench

先下载依赖包
yum install automake autoconf -y

运行./configure && make 命令,可能有以下的报错
../libtool: line 5172: : command not found
修改configure.ac文件
Sysbench基准测试的示例分析

将LIBTOOL注释,并增加AC_PROG_RANLIB
Sysbench基准测试的示例分析

修改之后运行如下命令
./autogen.sh && ./configure && make
完成之后,进入sysbench文件夹,可以看到sysbench命令已经编译完成。

1.进行文件io测试
准备文件
Sysbench基准测试的示例分析
进行基准测试

  1. [root@mysql1 sysbench]# ./sysbench --test=fileio --file-total-size=2G --file-test-mode=rndrw --file-num=16 --num-threads=16 run

  2. sysbench 0.4.12:  multi-threaded system evaluation benchmark


  3. Running the test with following options:

  4. Number of threads: 16


  5. Extra file open flags: 0

  6. 16 files, 128Mb each

  7. 2Gb total file size

  8. Block size 16Kb

  9. Number of random requests for random IO: 10000

  10. Read/Write ratio for combined random IO test: 1.50

  11. Periodic FSYNC enabled, calling fsync() each 100 requests.

  12. Calling fsync() at the end of test, Enabled.

  13. Using synchronous I/O mode

  14. Doing random r/w test

  15. Threads started!

  16. Done.


  17. Operations perfORMed:  6006 Read, 3996 Write, 1600 Other = 11602 Total

  18. Read 93.844Mb  Written 62.438Mb  Total transferred 156.28Mb  (2.1231Mb/sec)

  19. 135.88 Requests/sec executed


  20. Test execution summary:

  21. total time:                          73.6086s

  22. total number of events:              10002

  23. total time taken by event execution: 602.0152

  24. per-request statistics:

  25. min:                                  0.01ms

  26. avg:                                 60.19ms

  27. max:                               1587.11ms

  28. approx.  95 percentile:             290.98ms


  29. Threads fairness:

  30. events (avg/stddev):           625.1250/42.01

  31. execution time (avg/stddev):   37.6259/2.94

其中主要参数和默认值
  --file-num=N                     创建测试的文件数量 [128]
  --file-block-size=N             块的尺寸,默认是16K 用于测试Oracle一般改为8K[16384]        
  --file-total-size=SIZE         所有测试文件总的大小[2G]
  --file-test-mode=STRING   测试模式 seqwr(顺序写), seqrewr(顺序读写), seqrd(顺序读), rndrd(随机读), rndwr(随机写), rndrw(随机读写)
  --file-io-mode=STRING      文件操作模式 sync(同步),async(异步),fastmmap,slowmmap(两种内存映射模式) [sync]
  --file-rw-ratio=N                测试时的读写比例  [1.5]

  --file-async-backlog=N        number of asynchronous operatons to queue per thread [128]
  --file-extra-flags=STRING     additional flags to use on opening files {sync,dsync,direct} []
  --file-fsync-freq=N           do fsync() after this number of requests (0 - don't use fsync()) [100]
  --file-fsync-all=[on|off]     do fsync() after each write operation [off]
  --file-fsync-end=[on|off]     do fsync() at the end of test [on]
  --file-fsync-mode=STRING      which method to use for synchronization {fsync, fdatasync} [fsync]
  --file-merged-requests=N      merge at most this number of IO requests if possible (0 - don't merge) [0]
 
测试完成之后清理生成的文件
[root@mysql1 sysbench]# ./sysbench --test=fileio --file-num=16 --file-total-size=2G cleanup
sysbench 0.4.12:  multi-threaded system evaluation benchmark
Removing test files...

如果出现如下错误,则需要注意 指定的file-num能够被file-total-size 整除
FATAL: Too large position discovered in request!

2.进行CPU基准测试
[root@mysql1 sysbench]# ./sysbench --test=cpu --num-threads=16 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 16
Doing CPU performance benchmark
Threads started!
Done.
Maximum prime number checked in CPU test: 10000
Test execution summary:
    total time:                          2.5106s
    total number of events:              10000
    total time taken by event execution: 39.3201
    per-request statistics:
         min:                                  0.30ms
         avg:                                  3.93ms
         max:                                 43.80ms
         approx.  95 percentile:              15.07ms

Threads fairness:
    events (avg/stddev):           625.0000/50.60
    execution time (avg/stddev):   2.4575/0.03

3.OLTP基准测试
进行准备
[root@mysql1 sysbench]# ./sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-host=127.0.0.1 --mysql-user=xx --mysql-passWord=xx --mysql-Socket=/home/lihuilin/mysql-5.6.14/mysql.sock  --num-threads=15  prepare
sysbench 0.4.12:  multi-threaded system evaluation benchmark

No DB drivers specified, using mysql
Creating table 'sbtest'...
Creating 1000000 records in table 'sbtest'...

然后进行测试
[root@mysql1 sysbench]# ./sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-host=127.0.0.1 --mysql-user=xx --mysql-password=xx --mysql-socket=/home/lihuilin/mysql-5.6.14/mysql.sock  --num-threads=15  run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

No DB drivers specified, using mysql
Running the test with following options:
Number of threads: 15

Doing OLTP test.
Running mixed OLTP test
Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)
Using "BEGIN" for starting transactions
Using auto_inc on the id column
Maximum number of requests for OLTP test is limited to 10000
Threads started!
Done.

OLTP test statistics:
    queries performed:
        read:                            140000
        write:                           50000
        other:                           20000
        total:                           210000
    transactions:                        10000  (502.61 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 190000 (9549.53 per sec.)
    other operations:                    20000  (1005.21 per sec.)

Test execution summary:
    total time:                          19.8963s
    total number of events:              10000
    total time taken by event execution: 298.1265
    per-request statistics:
         min:                                 11.62ms
         avg:                                 29.81ms
         max:                                185.70ms
         approx.  95 percentile:              42.60ms

Threads fairness:
    events (avg/stddev):           666.6667/5.69
    execution time (avg/stddev):   19.8751/0.01

相对于TPCC-MySQL,sysbench的测试结果非常直观, 一目了然

感谢各位的阅读!关于“Sysbench基准测试的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: Sysbench基准测试的示例分析

本文链接: https://www.lsjlt.com/news/62377.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么查询当前用户所有的表
    要查询当前用户拥有的所有表,可以使用以下 sql 命令:select * from user_tables; 如何查询当前用户拥有的所有表 要查询当前用户拥有的所有表,可以使...
    99+
    2024-05-15
    oracle
  • oracle怎么备份表中数据
    oracle 表数据备份的方法包括:导出数据 (exp):将表数据导出到外部文件。导入数据 (imp):将导出文件中的数据导入表中。用户管理的备份 (umr):允许用户控制备份和恢复过程...
    99+
    2024-05-15
    oracle
  • oracle怎么做到数据实时备份
    oracle 实时备份通过持续保持数据库和事务日志的副本来实现数据保护,提供快速恢复。实现机制主要包括归档重做日志和 asm 卷管理系统。它最小化数据丢失、加快恢复时间、消除手动备份任务...
    99+
    2024-05-15
    oracle 数据丢失
  • oracle怎么查询所有的表空间
    要查询 oracle 中的所有表空间,可以使用 sql 语句 "select tablespace_name from dba_tablespaces",其中 dba_tabl...
    99+
    2024-05-15
    oracle
  • oracle怎么创建新用户并赋予权限设置
    答案:要创建 oracle 新用户,请执行以下步骤:以具有 create user 权限的用户身份登录;在 sql*plus 窗口中输入 create user identified ...
    99+
    2024-05-15
    oracle
  • oracle怎么建立新用户
    在 oracle 数据库中创建用户的方法:使用 sql*plus 连接数据库;使用 create user 语法创建新用户;根据用户需要授予权限;注销并重新登录以使更改生效。 如何在 ...
    99+
    2024-05-15
    oracle
  • oracle怎么创建新用户并赋予权限密码
    本教程详细介绍了如何使用 oracle 创建一个新用户并授予其权限:创建新用户并设置密码。授予对特定表的读写权限。授予创建序列的权限。根据需要授予其他权限。 如何使用 Oracle 创...
    99+
    2024-05-15
    oracle
  • oracle怎么查询时间段内的数据记录表
    在 oracle 数据库中查询指定时间段内的数据记录表,可以使用 between 操作符,用于比较日期或时间的范围。语法:select * from table_name wh...
    99+
    2024-05-15
    oracle
  • oracle怎么查看表的分区
    问题:如何查看 oracle 表的分区?步骤:查询数据字典视图 all_tab_partitions,指定表名。结果显示分区名称、上边界值和下边界值。 如何查看 Oracle 表的分区...
    99+
    2024-05-15
    oracle
  • oracle怎么导入dump文件
    要导入 dump 文件,请先停止 oracle 服务,然后使用 impdp 命令。步骤包括:停止 oracle 数据库服务。导航到 oracle 数据泵工具目录。使用 impdp 命令导...
    99+
    2024-05-15
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作