未加星标

多线程基准测试工具sysbench 0.5 简介

字体大小 | |
[数据库(mysql) 所属分类 数据库(mysql) | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

一 前言

因为在准备做压力测试方面的工作,看到sysbench 目前最新的版本是0.5 ,相比之前的0.4的版本,最大的变化是 test 参数的改变,在压测mysql时,新版本中test将取值为 lua脚本,该种方式给压测工作带来很大的灵活性。

二 安装

因为之前的博文中讲述过如何安装sysbench 故本文不做过多讲解,不过需要提示请确保当前系统中是否安装m4 autoconf automake libtool 这几个包,

如果没有则通过 yum install -y m4 autoconf automake libtool安装

获取sysbench然后安装

. / autogen . sh . / configure - - prefix = / opt/sysbench - - with - mysql - - with - mysql - includes = / opt/mysql/ include - - with - mysql - libs = / usr/lib64/mysql make and make install安装完成之后 执行sysbench --help 查看完整的帮助。

安装完成之后 执行sysbench --help 查看完整的帮助。

三使用

之前0.5 版本test值是lua脚本,检查一下db压测可以使用那些脚本

[ [email protected] 11 : 32 : 45 ~/sysbench/sysbench/tests/db ] # ls * . lua common . lua insert . lua oltp_simple . lua select . lua select_random_ranges . lua update_non_index . lua delete . lua oltp . lua parallel_prepare . lua select_random_points . lua update_index . lua

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

[ [email protected] 11 : 36 : 32 ~/sysbench/sysbench/tests/db ] # more update_non_index . lua pathtest = string . match ( test , "(.*/)" ) or "" dofile ( pathtest . . "common.lua" ) function thread_init ( thread_id ) set_vars ( ) end function event ( thread_id ) local table_name local c_val local query table_name = "sbtest" . . sb_rand_uniform ( 1 , oltp_tables_count ) c_val = sb_rand_str ( "###########-###########-###########-###########-###########-###########-###########-###########-###########-###########" ) query = "UPDATE " . . table_name . . " SET c='" . . c_val . . "' WHERE id=" . . sb_rand ( 1 , oltp_table_size ) rs = db_query ( query ) end

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

cd /root/sysbench/ /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 /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 /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

本文数据库(mysql)相关术语:navicat for mysql mysql workbench mysql数据库 mysql 存储过程 mysql安装图解 mysql教程 mysql 管理工具

主题: SQLMySQL压力测试
分页:12
转载请注明
本文标题:多线程基准测试工具sysbench 0.5 简介
本站链接:http://www.codesec.net/view/522735.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(mysql) | 评论(0) | 阅读(42)