• ADADADADAD

    MySQL压力测试中如何定制sysbench的Lua模板[ mysql数据库 ]

    mysql数据库 时间:2024-11-26 22:11:53

    作者:文/会员上传

    简介:

    压力测试前,我们配置一下环境,创建一个用户和数据库。mysql> create user sysbench_test identified by 'mysql';Query OK, 0 rows affected (0.08 sec)mysql> create

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    压力测试前,我们配置一下环境,创建一个用户和数据库。

    mysql> create user sysbench_test identified by 'mysql';

    Query OK, 0 rows affected (0.08 sec)

    mysql> create database sysbench_db character set utf8;

    Query OK, 1 row affected (0.08 sec)

    mysql> grant all on sysbench_db.* to sysbench_test@'%';

    Query OK, 0 rows affected (0.00 sec)

    然后配置一个最简单的Lua模板,内容如下:

    #!/usr/bin/env sysbench

    function event()

    db_query(

    "SELECT 1"

    )

    end

    运行的时候,配置执行权限,chmod +x test1.lua,然后执行

    ./test1.lua --mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535 --mysql-db=sysbench_db run

    其中参数--mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535是为了连接,如果你是使用3306端口的默认配置命令就更简单了,输出如下:

    此外我们还可以验证命令选项。我们推出第2个Lua模板 test2.lua

    sysbench.cmdline.options = {

    tables = {"Number of tables", 1},

    table_size = {"Number of rows per table", 10000},

    create_secondary = {"Create a secondary key", true}

    }

    如果命令选项不对,会检查出来。

    sysbench --tbales=8 test2.lua --mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535 --mysql-db=sysbench_db run

    invalid option: --tbales=8

    如果没有问题,则可以使用help来得到初始化后的选项值。

    # sysbench test2.lua help

    sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

    test2.lua options:

    --table_size=N Number of rows per table [10000]

    --tables=N Number of tables [1]

    --create_secondary[=on|off] Create a secondary key [on]

    接下来就是重点了,关于SQL API的定制,其实是有规则可循的。

    我们来看看第3个Lua模板,test3.lua

    function thread_init()

    drv = sysbench.sql.driver()

    con = drv:connect()

    end

    function event()

    con:query("SELECT 1"

    )

    end

    function thread_done()

    con:disconnect()

    end

    使用命令即可完成测试。

    sysbench test3.lua --mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535 --mysql-db=sysbench_db run

    MySQL压力测试中如何定制sysbench的Lua模板.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: luamysqlsysbench