zoukankan      html  css  js  c++  java
  • TiDB-性能测试

    使用sysbench测试TiDB

    建议使用 Sysbench 1.0 或之后的更新版本

    软件下载地址

    https://github.com/akopytov/sysbench
    https://github.com/akopytov/sysbench/archive/1.0.16.tar.gz
    

    安装sysbench

    依赖包安装

    yum -y install gcc gcc-c++ automake make libtool pkgconfig libaio-devel openssl-devel
    

    解压并编译安装sysbench

    tar -zxvf 1.0.16.tar.gz
    
    cd sysbench-1.0.16
    
    ./autogen.sh
    
    ./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64/mysql --with-mysql
    
    make -j 2 && make install
    

    测试过程

    sysbench配置

    配置文件参考示例如下:

    mysql-host=192.168.10.180
    mysql-port=4000
    mysql-user=root
    mysql-password=root
    mysql-db=sbtest
    time=600
    threads=16
    report-interval=10
    db-driver=mysql
    

    数据导入

    通过 MySQL 客户端连接到TiDB Server并执行以下 SQL 语句,创建测试数据库 sbtest

    create database sbtest;
    

    调整 Sysbench 脚本创建索引的顺序。Sysbench 按照“建表->插入数据->创建索引”的顺序导入数据。对于 TiDB 而言,该方式会花费更多的导入时间。你可以通过调整顺序来加速数据的导入。

    配置lua测试文件

    tidb-bench/oltp_common.lua at master · pingcap/tidb-bench · GitHub

    开始导入数据

    config 文件为上一小节中配置的文件

    sysbench --config-file=config oltp_point_select --tables=32 --table-size=10000000 prepare
    

    数据预热与统计信息收集

    数据预热可将磁盘中的数据载入内存的 block cache 中,预热后的数据对系统整体的性能有较大的改善,建议在每次重启集群后进行一次数据预热。

    若使用的当前Sysbench 版本没有提供数据预热的功能,需要手动进行数据预热。如果使用更新的 Sysbench 版本,可以使用自带的预热功能,可以跳过。

    以 Sysbench 中某张表 sbtest7 为例,执行如下 SQL 语句 进行数据预热:

    SELECT COUNT(pad) FROM sbtest7 USE INDEX (k_7);
    

    统计信息收集有助于优化器选择更为准确的执行计划,可以通过 analyze 命令来收集表 sbtest 的统计信息,每个表都需要统计。

    ANALYZE TABLE sbtest7;
    

    测试命令

    Point select 测试命令
    sysbench --config-file=config oltp_point_select --tables=32 --table-size=10000000 run
    
    Update index 测试命令
    sysbench --config-file=config oltp_update_index --tables=32 --table-size=10000000 run
    
    Read-only 测试命令
    sysbench --config-file=config oltp_read_only --tables=32 --table-size=10000000 run
    
  • 相关阅读:
    用户交互语句
    基础数据类型补充与总结
    Python 中表示 False 的方法
    集合
    字典
    元组
    列表
    整型数据详述和进制转换
    f-strings 详解
    字符串方法详解
  • 原文地址:https://www.cnblogs.com/binliubiao/p/14393278.html
Copyright © 2011-2022 走看看