文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

sysbench 0.5有什么用

2024-04-02 19:55

关注

这篇文章主要介绍sysbench 0.5有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一 前言 
 因为在准备做压力测试方面的工作,看到sysbench 目前最新的版本是0.5 ,相比之前的0.4的版本,最大的变化是 test 参数的改变,在压测MySQL时,新版本中test将取值为 lua脚本,该种方式给压测工作带来很大的灵活性。
二 安装
因为之前的博文中讲述过如何安装sysbench 故本文不做过多讲解,不过需要提示请确保当前系统中是否安装m4  autoconf  automake libtool 这几个包,
如果没有则通过 yum install  -y m4  autoconf  automake libtool安装
获取sysbench然后安装

  1. ./autogen.sh

  2. ./configure --prefix=/opt/sysbench --with-mysql --with-mysql-includes=/opt/mysql/include --with-mysql-libs=/usr/lib64/mysql

  3. make and make install安装完成之后 执行sysbench  --help 查看完整的帮助。

安装完成之后 执行sysbench  --help 查看完整的帮助。
三使用
之前0.5 版本test值是lua脚本,检查一下db压测可以使用那些脚本

  1. [root@rac4 11:32:45 ~/sysbench/sysbench/tests/db]

  2. # ls *.lua

  3. common.lua  insert.lua  oltp_simple.lua       select.lua                select_random_ranges.lua  update_non_index.lua

  4. delete.lua  oltp.lua    parallel_prepare.lua  select_random_points.lua  update_index.lua

看看大家压测的时候用到的最典型的脚本

  1. [root@rac4 11:36:32 ~/sysbench/sysbench/tests/db]

  2. # more  update_non_index.lua

  3. pathtest = string.match(test, "(.*/)") or ""

  4. dofile(pathtest .. "common.lua")

  5. function thread_init(thread_id)

  6.    set_vars()

  7. end

  8. function event(thread_id)

  9.    local table_name

  10.    local c_val

  11.    local query

  12.    table_name = "sbtest".. sb_rand_uniform(1, oltp_tables_count)

  13.    c_val = sb_rand_str("###########-###########-###########-###########-###########-###########-###########-###########-###########-###########")

  14.    query = "UPDATE " .. table_name .. " SET c='" .. c_val .. "' WHERE id=" .. sb_rand(1, oltp_table_size)

  15.    rs = db_query(query)

  16. end

如果大家会lua脚本,则可以根据自己的业务场景,简单的定制化压测脚本。

  1. cd  /root/sysbench/

  2. /opt/sysbecn/bin/sysbench --test=./sysbench/tests/db/update_non_index.lua --mysql-table-engine=innodb --mysql-db=test --oltp-table-size=5000000 --mysql-user=root --mysql-socket=/srv/my3308/run/mysql.sock --oltp-tables-count=16  prepare

  3. /opt/sysbecn/bin/sysbench --test=./sysbench/tests/db/update_non_index.lua --mysql-table-engine=innodb --mysql-db=test --oltp-table-size=5000000 --mysql-user=root --mysql-socket=/srv/my3308/run/mysql.sock --oltp-tables-count=16  run

  4. /opt/sysbecn/bin/sysbench --test=./sysbench/tests/db/update_non_index.lua --mysql-table-engine=innodb --mysql-db=test --oltp-table-size=5000000 --mysql-user=root --mysql-socket=/srv/my3308/run/mysql.sock --oltp-tables-count=16  cleanup

四 遇到的问题
# ./autogen.sh
libtoolize 1.4+ wasn't found, exiting
# ./autogen.sh
automake 1.10.x (aclocal) wasn't found, exiting
说明需要安装  libtool ,automake 的安装包
安装完上述几个包之后,我还遇到了如下错误:
libtool: link: gcc -W -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Winline -funroll-loops -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -pthread -O2 -ggdb3 -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o  tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/mutex/libsbmutex.a scripting/libsbscript.a drivers/mysql/libsbmysql.a -L/opt/mysql/lib -lmysqlclient_r scripting/lua/src/liblua.a -ldl -lrt -lm -pthread
/usr/bin/ld: cannot find -lmysqlclient_r
collect2: ld returned 1 exit status
原因是因为自己当前环境中没有安装 mysql-devel 导致没有 libmysqlclient_r.so.16 。解决方法
yum install -y  mysql-devel 

以上是“sysbench 0.5有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯