暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦数据库sysbench实践

原创 杜小台 2025-03-18
207
  • 安装环境准备
    • 安装sysbench所需的依赖包
      yum -y install make automake libtool pkgconfig libaio-devel
    • 安装gcc依赖包
      yum -y install gcc
    • 安装 libtool依赖包
      yum -y install libtool
  • 配置DM数据库环境变了
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
    export DM_HOME="/dm8"
    PATH=$PATH:$HOME/.local/bin:$HOME/bin:$DM_HOME/bin
    export PATH
  • sysbech执行准备
    • 上传安装包并解压
      unzip sysbench-master.zip
    • 执行autogen.sh文件
      ./autogen.sh
    • 执行配置文件
      ./configure --without-mysql --with-dm
    • 编译并且安装
      make
      • 安装报错1
        • 解决方案
          将gcc 那段相关执行信息拷贝出来。在结果加上lrt 单独执行。得房到src目录下执行
          gcc -std=gnu99 -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -rdynamic -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o sb_histogram.o sb_rand.o sb_thread.o sb_barrier.o sb_lua.o sb_util.o sb_counter.o -L/usr/local/lib tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/mutex/libsbmutex.a drivers/dm/libsbdm.a /dm8/include/libdmdpi.a /sysbench1/sysbench-master-dpi/third_party/luajit/lib/libluajit-5.1.a -ldl /sysbench1/sysbench-master-dpi/third_party/concurrency_kit/lib/libck.a -laio -lm -pthread -lrt
    • 将src下sysbench文件,拷贝至src/lua
      cp sysbench* /sysbench/sysbench-master/src/lua/
  • 读写测试(压测强度按照自身环境决定)
    --time # 压测时间
    --threads # 压测线程数
    --events # 请求数, 0 无限制-
    -rate # 请求速率, 0 无限制
    --tables # 压测表数量
    --table_size # 压测的单表大小,单位行
    prepare # 准备测试数据
    run # 开始压测
    cleanup # 清除压测数据
    report-interval # 每多少秒钟报告一次测试结果
    • 数据准备
      ./sysbench oltp_read_write.lua --tables=1 --table-size=10 --db-driver=dm --dm-db=172.23.240.100:5236 --dm-user=SYSDBA --dm-password=Dimpod520 --auto-inc=0 --threads=1 --time=60 --report-interval=10 preparee
    • 执行测试
      ./sysbench oltp_read_write.lua --tables=1 --table-size=10 --db-driver=dm --dm-db=172.23.240.100:5236 --dm-user=SYSDBA --dm-password=Dimpod520 --auto-inc=0 --threads=1 --time=60 --report-interval=10 run
    • 清除数据
      ./sysbench oltp_read_write.lua --tables=1 --table-size=10 --db-driver=dm --dm-db=172.23.240.100:5236 --dm-user=SYSDBA --dm-password=Dimpod520 --auto-inc=0 --threads=1 --time=60 --report-interval=10 clear
  • 参数解读
    SQL statistics:
    queries performed:
    read: 275436 -- 读总数
    write: 78696 -- 写总数
    other: 39348 -- 其他操作总数(SELECT、INSERT、UPDATE、DELETE之外的操作,例如COMMIT等)
    total: 393480 -- 全部总数
    transactions: 19674 (327.89 per sec.) -- 总事务数(每秒事务数)
    queries: 393480 (6557.83 per sec.) -- 发生死锁总数
    ignored errors: 0 (0.00 per sec.) -- 读写总数(每秒读写次数)
    reconnects: 0 (0.00 per sec.) -- 其他操作总数(每秒其他操作次数)
    Throughput:
    events/s (eps): 327.8917 --事件数(每秒事件数)
    time elapsed: 60.0015s --测试时间
    total number of events: 19674 --总事务数据
    Latency (ms):
    min: 2.25 -- 最小耗时
    avg: 3.05 -- 平均耗时
    max: 20.88 -- 最长耗时
    95th percentile: 4.18 -- 95%耗时之内
    sum: 59943.08 --总时间
    Threads fairness:
    events (avg/stddev): 19674.0000/0.00 --平均每个线程处理的事件数
    execution time (avg/stddev): 59.9431/0.00--每个线程平均执行的事件
  • https://eco.dameng.com
  •  
最后修改时间:2025-03-18 22:22:01
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论