使用sysbench测试mysql及postgresql(完整版)

转载请注明出处https://www.cnblogs.com/funnyzpc/p/14592166.html

前言

使用sysbench测试数据库十分的麻烦(主要是sysbench安装麻烦),本人需要测试mysql及postgresql,mysql可以正常编译通过,postgresql的怎么都不行,后来群内有网友提供编译版,

发现一切都好使了,在此感谢某网友提供的编译版sysbench

另外,如在使用过程中报各种莫名其妙的错误请使用yum或apt安装下mysql或postgresql ,后续基本都顺利~

sysbench主要参数

  • --threads=10:表示发起10个并发连接
  • --report-interval=20:表示每10秒输出一次测试进度报告
  • --oltp-tables-count=3:表示会生成3个测试表
  • --oltp-table-size=50000000:表示每个测试表填充数据量为50000000

使用方式

  • mysql: ./sysbench_mysql [执行参数]
  • postgresql: ./sysbench_pg [执行参数]
  • oracle: ./sysbench_ora [执行参数]

mysql 测试

构建测试数据

./sysbench_mysql --test=./tests/include/oltp_legacy/oltp.lua \
--mysql-host=服务域名或地址 --mysql-port=服务端口 --mysql-user=数据库用户 --mysql-password=数据库密码 --mysql-db=测试DB \
--oltp-test-mode=complex --oltp-tables-count=3 --oltp-table-size=50000000 \
--threads=12 --time=120 --report-interval=20 prepare

执行测试

  • 复杂模式执行复杂查询
./sysbench_mysql --test=./tests/include/oltp_legacy/oltp.lua \
--mysql-host=服务域名或地址 --mysql-port=服务端口 --mysql-user=数据库用户 --mysql-password=数据库密码 --mysql-db=测试DB \
--oltp-test-mode=complex --oltp-read-only=on --oltp-tables-count=3 --oltp-table-size=50000000 \
--threads=12 --time=120 --report-interval=20 run >> /mnt/sysbench/mysql_bench_complex_20210400.log
  • 简单模式执行增删改查
./sysbench_mysql --test=./tests/include/oltp_legacy/oltp.lua \
--mysql-host=服务域名或地址 --mysql-port=服务端口 --mysql-user=数据库用户 --mysql-password=数据库密码 --mysql-db=测试DB \
--oltp-test-mode=simple --oltp-tables-count=3 --oltp-table-size=50000000 \
--threads=12 --time=120 --report-interval=20 run >> /mnt/sysbench/mysql_bench_simple_20210400.log

清理测试数据

./sysbench_mysql --test=./tests/include/oltp_legacy/oltp.lua \
--mysql-host=服务域名或地址 --mysql-port=服务端口 --mysql-user=数据库用户 --mysql-password=数据库密码 --mysql-db=测试DB \
--oltp-tables-count=3 cleanup

postgresql测试

构建测试数据

./sysbench_pg --test=./tests/include/oltp_legacy/oltp.lua \
--pgsql-host=服务域名或地址 --pgsql-port=服务端口 --pgsql-user=数据库用户 --pgsql-password=数据库密码 \
--pgsql-db=测试DB --oltp-tables-count=3 --oltp-table-size=50000000 \
--report-interval=20 --threads=12 \
prepare

执行测试

  • 复杂模式执行复杂查询
./sysbench_pg --test=./tests/include/oltp_legacy/oltp.lua \
--pgsql-host=服务域名或地址 --pgsql-port=服务端口 --pgsql-user=数据库用户 --pgsql-password=数据库密码 \
--pgsql-db=测试DB --oltp-tables-count=3 --oltp-table-size=50000000 \
--oltp-test-mode=complex --oltp-read-only=on --report-interval=20 --threads=12 \
run >> /mnt/sysbench/pg_bench_complex_20210400.log
  • 简单模式执行增删改查
./sysbench_pg --test=./tests/include/oltp_legacy/oltp.lua \
--pgsql-host=服务域名或地址 --pgsql-port=服务端口 --pgsql-user=数据库用户 --pgsql-password=数据库密码 \
--pgsql-db=测试DB --oltp-tables-count=3 --oltp-table-size=50000000 \
--oltp-test-mode=simple --report-interval=20 --threads=12 \
run >> /mnt/sysbench/pg_bench_simple_20210400.log

清理文件

-- [错误]
./sysbench_pg --test=./tests/include/oltp_legacy/oltp.lua \
--pgsql-host=服务域名或地址 --pgsql-port=服务端口 --pgsql-user=数据库用户 --pgsql-password=数据库密码 \
--pgsql-db=测试DB --oltp-tables-count=3 --oltp-table-size=50000000 \
cleanup

以上清理文件需要说明的是:可能由于sysbench_pg编译的版本比较低所以sysbench_pg在执行的时候会抛错,但这不是大问题,简单处理就是手动删除下测试表~

--各位周末愉快

使用sysbench测试mysql及postgresql(完整版)的更多相关文章

  1. CentOS 6.5以上版本安装mysql 5.7 完整版教程(修订版)

    转载自:https://codeday.me/collect/20170524/21861.html 1: 检测系统是否自带安装mysql # yum list installed | grep my ...

  2. MySql数据库导出完整版(导出数据库,导出表,导出数据库结构)

    MySql数据库导出完整版(导出数据库,导出表,导出数据库结构) 用MySqlCE导出数据库脚本时,如数据库中包含中文内容,则导出异常. 现在可以通过mysqldump.exe直接导出数据库脚本步骤如 ...

  3. sysbench 测试mysql性能

    ===== #1sysbench --test=oltp --oltp-table-size=10000 --mysql-db=test --mysql-user=root --mysql-passw ...

  4. ubuntu 18.04使用sysbench测试MySQL性能

    首先下载安装sysbench: sudo apt-get install sysbench -y 查看一下sysbench版本是多少: zifeiy@zifeiy-S1-Series:~$ sysbe ...

  5. MySQL 锁(完整版)

    目录 锁总览 锁的作用 加锁流程 锁对数据库的影响 锁等待 死锁 锁类型 锁范围 锁方式 全局锁 全局读锁 全局QC锁 QC锁存在的问题: 备份锁 backup lock MDL锁 MDL锁类型 MD ...

  6. centos 安装postgresql 完整版

    按步骤 执行命令即可: yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-c ...

  7. centos6 yum安装mysql 5.6 (完整版)

    使用源代码编译安装mysql还是比较麻烦,一般来说设备安装时请网络同事临时开通linux上网,通过yum网络实现快速安装,或配置yum仓库进行内网统一安装. 通过网络快速安装过程如下 一.检查系统是否 ...

  8. sysbench 测试MYSQL

    http://imysql.cn/tag/%E5%8E%8B%E6%B5%8B http://imysql.cn/node/312 https://www.percona.com/blog/2013/ ...

  9. sysbench测试MySQL筛选tps

    log=$1tps_array=`awk -F '[,:]' '{print $4}' ${log}`zero=0 for tps in ${tps_array}do tps=`echo ${tps} ...

随机推荐

  1. 5G & 音频,视频

    5G & 音频,视频 直播,webtrtc 音频,视频 基础知识 基本概念.播放流程.封装格式.编解码.传输协议 音视频播放流程 主要流程:采集 -> 前处理 -> 编码 -> ...

  2. shit nuxt.js sensors-data

    shit nuxt.js sensors-data why I can not close it? https://github.com/nuxt/nuxt.js/issues?q=sensors+d ...

  3. API 注解 & Java API annotation

    API 注解 & Java API annotation 注解 annotation

  4. c++ DWORD和uintptr_t

    x86模式 DWORD 是4字节 x86模式 uintptr_t 是4字节 x64模式 DWORD 是4字节 x64模式 uintptr_t 是8字节 std::cout << sizeo ...

  5. SPC空投价值高达310万美金,生态建设者直呼真香!

    市场上面有句名言:"人赚不到自己认知以外的财富",这在数字加密上也是共通的.早在本月12日,也就是前天,NGK官方发行的第N波利好---SPC侧链代币空投已经陆续发放了,NGK以及 ...

  6. elasticsearch如何设计索引

    本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 最近在做es相关的工作,所以记录下自己的一些想法,可能很多方面不会很全面,但是基本都是经过 ...

  7. JVM基础入门

    内存模型 我理解的jvm: 个人理解的jvm流程: .java反编译为.class文件 经类加载器到上图的内存模型 方法区:存静态 常量区(String在里面) 本地栈区:调本地服务其它库的方法 计数 ...

  8. 微信小程序:给data中对象中的属性设置值与给data中的属性或对象或数组设置值的区别

    一.给data中的属性或对象或数组设置值,属性名不需要加引号 this.setData({ material: param, // 这里material为对象 } this.setData({   d ...

  9. vmware-install.pl 如何安装?

    首先在虚拟机上安装vnware-tools工具,如图(工具为vmware workstation):  成功   但是系统屏幕大小并没有适应虚拟机,所以下边这行提示很重要. 打开左侧边栏的VMware ...

  10. Python爬虫系统化学习(4)

    Python爬虫系统化学习(4) 在之前的学习过程中,我们学习了如何爬取页面,对页面进行解析并且提取我们需要的数据. 在通过解析得到我们想要的数据后,最重要的步骤就是保存数据. 一般的数据存储方式有两 ...