Mysql常用基准测试工具

mysqlslap

常用参数说明

–auto-generate-sql 由系统自动生成sql脚本进行测试
 –auto-generate-sql-add-autoincrement 在生成的表中增加自增ID
 –auto-generate-sql-load-type 指定测试中使用的查询类型
 –auto-generate-sql-write-number 制定初始化数据时生成的数据量
 –concurrency 指定并发线程的数量
 –engine 指定要测试表的存储引擎,逗号分隔多个
 –no-drop 不清理测试数据(一般不设置)
 –iterations 指定测试运行的次数
 –number-of-queries 指定每一个线程执行的查询数量
 –debug-info 指定输出额外的内存及cpu统计信息
 –number-int-cols 指定测试表中包含的int类型列的数量
 –number-char-cols指定测试表中包含的varchar类型数量
 –create-schema 指定用于执行测试的数据库名字
 –query 用于指定自定义sql的脚本
 –only-print 并不运行测试脚本,而是把生产的脚本打印出来

mysqlslap --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-char-cols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=myisam,innodb --number-of-queries=10 --create-schema=sbtest

sysbench

安装说明

# 下载https://gihub.com/akopytov/sysbench/archive/0.5.zip# 解压unzip sysbench-0.5zipcd sysbench./autogen.sh# 配置自己的mysql include 和 lib目录./configure --with-mysql-includes=/usr/local/mysql/include/ --with-mysql-libs=/usr/local/mysql/lib/make && make install

常用参数

–test 用于指定索要执行的测试类型 支持一下参数

Fileio 文件系统I/O性能测试

cpu cpu性能测试

memory 内存性能测试

–mysql-db 用于指定执行基准测试的数据库名
 –mysql-table-engine 用于指定所使用的存储引擎
 –oltp-tables-count 执行测试的表数量
 –oltp-table-size 指定每个表中的数据行数
 –num-threads 制定测试的并发线程数量
 –max-time 指定测试最大时间 s
 –report-interval 指定间隔多长时间输出一次统计信息
 –mysql-user 指定执行测试的mysql用户
 –mysql-password 密码
 prepare 用于准备测试数据
 run 运行测试
 cleanup 清除测试数据

# 对cpu进行测试sysbench --test=cpu --cpu-max-prime=10000 run# 磁盘I/O测试 首先准备数据要大于内存sysbench --test=Fileio --file-total-size=1Gpreparesysbench --test=Fileio --num--threads=8 --init-rgn=on -file-total-size=1G --file-test-mode=rndrw --report-interval=1# 数据库性能测试 建立基准测试的用户密码数据,然后进入sysbench的test目录下,利用lua脚本测试sysbench --test=./oltp.lua --mysql-table-engine=innodb --oltp-table-size=10000 --mysql-db=db_name --mysql-user=user_name --mysql-password=password --oltp-tables-count=10 --mysql-socket=/usr/local/mysql/data/mysql.sock prepare# 开始测试,将上述命令的prepare改为run

mysqlslap

常用参数说明

–auto-generate-sql 由系统自动生成sql脚本进行测试
 –auto-generate-sql-add-autoincrement 在生成的表中增加自增ID
 –auto-generate-sql-load-type 指定测试中使用的查询类型
 –auto-generate-sql-write-number 制定初始化数据时生成的数据量
 –concurrency 指定并发线程的数量
 –engine 指定要测试表的存储引擎,逗号分隔多个
 –no-drop 不清理测试数据(一般不设置)
 –iterations 指定测试运行的次数
 –number-of-queries 指定每一个线程执行的查询数量
 –debug-info 指定输出额外的内存及cpu统计信息
 –number-int-cols 指定测试表中包含的int类型列的数量
 –number-char-cols指定测试表中包含的varchar类型数量
 –create-schema 指定用于执行测试的数据库名字
 –query 用于指定自定义sql的脚本
 –only-print 并不运行测试脚本,而是把生产的脚本打印出来

mysqlslap --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-char-cols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=myisam,innodb --number-of-queries=10 --create-schema=sbtest

sysbench

安装说明

# 下载https://gihub.com/akopytov/sysbench/archive/0.5.zip# 解压unzip sysbench-0.5zipcd sysbench./autogen.sh# 配置自己的mysql include 和 lib目录./configure --with-mysql-includes=/usr/local/mysql/include/ --with-mysql-libs=/usr/local/mysql/lib/make && make install

常用参数

–test 用于指定索要执行的测试类型 支持一下参数

Fileio 文件系统I/O性能测试

cpu cpu性能测试

memory 内存性能测试

–mysql-db 用于指定执行基准测试的数据库名
 –mysql-table-engine 用于指定所使用的存储引擎
 –oltp-tables-count 执行测试的表数量
 –oltp-table-size 指定每个表中的数据行数
 –num-threads 制定测试的并发线程数量
 –max-time 指定测试最大时间 s
 –report-interval 指定间隔多长时间输出一次统计信息
 –mysql-user 指定执行测试的mysql用户
 –mysql-password 密码
 prepare 用于准备测试数据
 run 运行测试
 cleanup 清除测试数据

# 对cpu进行测试sysbench --test=cpu --cpu-max-prime=10000 run# 磁盘I/O测试 首先准备数据要大于内存sysbench --test=Fileio --file-total-size=1Gpreparesysbench --test=Fileio --num--threads=8 --init-rgn=on -file-total-size=1G --file-test-mode=rndrw --report-interval=1# 数据库性能测试 建立基准测试的用户密码数据,然后进入sysbench的test目录下,利用lua脚本测试sysbench --test=./oltp.lua --mysql-table-engine=innodb --oltp-table-size=10000 --mysql-db=db_name --mysql-user=user_name --mysql-password=password --oltp-tables-count=10 --mysql-socket=/usr/local/mysql/data/mysql.sock prepare# 开始测试,将上述命令的prepare改为run

本文讲解了mysql常用基准测试工具的相关内容,更多香瓜知识请关注创想鸟。

相关推荐:

Mysql函数 的相关讲解

SQLLite相关内容

青柚面试 青柚面试

简单好用的日语面试辅助工具

青柚面试 57 查看详情 青柚面试

Spark SQL实现日志离线批处理

以上就是Mysql常用基准测试工具的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/383907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月6日 12:38:06
下一篇 2025年11月6日 12:39:35

相关推荐

  • PHP URL 传递 MySQL 记录中的完整字符串

    在 PHP 开发中,经常需要将数据通过 URL 传递给其他页面。当数据来自 MySQL 数据库,并且包含空格等特殊字符时,直接将数据拼接到 URL 中可能会导致问题,例如只显示第一个单词。本文将介绍如何使用 rawurlencode() 函数来解决这个问题,确保 URL 中能够正确传递包含空格的字符…

    2025年12月10日
    000
  • PHP URL 传递 MySQL 记录中的多词字段

    本文旨在解决 PHP 在 URL 中传递包含空格的 MySQL 记录字段时,只显示第一个单词的问题。通过使用 rawurlencode() 函数对 URL 中的值进行编码,确保空格等特殊字符能够正确传递,从而完整地获取 MySQL 记录中的多词字段。同时,提醒读者在接收端页面进行相应的解码处理。 在…

    2025年12月10日
    000
  • PHP:解决URL中MySQL记录只显示一个单词的问题

    本文旨在解决PHP程序在URL传递MySQL记录时,由于空格导致只显示第一个单词的问题。通过使用rawurlencode()函数对URL中的参数进行编码,确保包含空格的字符串能够正确传递,并提供相应的代码示例和注意事项,帮助开发者解决类似问题。 在PHP开发中,经常需要将MySQL数据库中的数据通过…

    2025年12月10日
    000
  • 在PHP中高效执行多个MySQL查询:技巧与实践

    在PHP中,直接使用mysqli::query()执行包含多个分号分隔的SQL查询字符串通常只会处理第一个查询。本文将详细介绍两种在PHP中有效执行多个MySQL查询的方法:一是利用SQL的UNION操作符将多个SELECT语句合并为一个单一结果集,适用于结果结构相同的查询;二是使用mysqli::…

    2025年12月10日
    000
  • LEMP环境下WordPress站点到子域的专业迁移指南

    本教程详细介绍了如何将大型LEMP环境下的WordPress站点手动迁移至子域进行测试或开发。文章强调了传统文件查找替换方法的局限性,并推荐使用WP-CLI工具进行数据库URL和路径的精确替换,特别是针对WordPress序列化数据,确保迁移过程高效、安全,避免数据损坏,从而实现WordPress站…

    2025年12月10日
    000
  • PHP动态表格数据单行更新实践指南

    本教程详细阐述了如何在PHP中实现对动态生成的HTML表格数据进行精确的单行更新。针对常见的问题——点击更新按钮导致所有数据记录被修改——本文将深入分析其原因,并提供一种安全且高效的解决方案。核心在于通过为每个更新按钮关联其对应的行ID,并在服务器端进行严格的ID匹配验证,从而确保只有目标数据记录被…

    2025年12月10日
    000
  • Symfony 如何将查询结果转为关联数组

    使用 getarrayresult() 可直接将 doctrine 查询结果转为关联数组;2. 手动遍历实体并构建数组可自定义结构;3. serializer 组件适用于复杂转换,如处理关联关系;4. 自定义 dql 查询可控制返回字段;5. getarrayresult() 返回空数组通常因无匹配…

    2025年12月10日
    000
  • PHP如何开发在线咨询平台?即时通讯收费模式

    解决方案是采用php框架(如laravel)结合swoole/workerman/ratchet实现websocket实时通讯,前端使用vue/react构建spa,通过redis pub/sub解耦消息处理,mysql/postgresql存储数据;2. 即时通讯技术选型核心为websocket,…

    2025年12月10日
    000
  • PHP怎样实现自动结算系统?每日收益统计发放

    实现php自动结算系统的核心在于通过定时任务、严谨的数据库设计和可靠的业务逻辑实现每日收益的自动化统计与发放;2. 系统通过cron job每日自动执行php脚本,从transactions表中聚合前一天的成功交易数据,按用户汇总并写入daily_earnings表;3. 根据预设结算规则判断符合条…

    2025年12月10日
    000
  • Symfony 怎么把数据迁移转为数组

    在symfony中将数据迁移中的数据转换为数组没有一键操作,需根据数据来源选择处理方式;2. 若数据为迁移文件中硬编码的静态数据,可通过手动解析sql或直接在代码中定义数组提取;3. 若数据已执行并存于数据库,则应通过doctrine orm或dbal查询实体后遍历转换为数组,推荐使用symfony…

    2025年12月10日
    000
  • PHP如何创建在线租赁平台?押金与租金计算

    处理租赁期间商品损坏的核心是建立明确的规则与保障机制,1、在租赁协议中清晰界定损坏赔偿标准,如按损坏程度扣除部分或全部押金;2、要求用户租赁前进行实名认证以提高违约成本;3、可引入保险机制,为商品购买保险以分摊平台与用户风险;4、平台应提供便捷的损坏申报与评估流程,确保处理公正透明,最终保障交易双方…

    2025年12月10日
    000
  • PHP如何创建自动发货系统?虚拟商品卡密生成

    卡密生成需结合随机数、时间戳与哈希算法(如md5(uniqid(rand(), true)))确保唯一性和复杂性,并在数据库中为卡密字段建立唯一索引防止重复;2. 支付成功后,系统通过支付网关的异步回调通知触发发货流程,接收回调数据后需进行验签、核对订单信息,并使用数据库事务保证订单更新、卡密分配与…

    2025年12月10日
    000
  • PHP怎样制作付费简历解析?人才库变现方案

    制作付费简历解析系统的核心在于整合第三方解析服务或自研模块,并结合支付与用户管理体系实现变现。1. 优先推荐整合第三方简历解析api,通过php调用接口获取结构化数据,实现高效准确的解析;2. 自研解析模块需处理多种文件格式、应用ocr及nlp技术提取信息,但开发难度高,适合有资源和技术积累的团队;…

    2025年12月10日
    000
  • 基于日期时间的网页内容自动更新:以电台节目表为例

    本文旨在提供一套完整的教程,指导如何利用PHP和数据库技术,实现网页内容的基于日期和时间的自动更新,尤其适用于电台节目表等需要精确时间控制的场景。教程将涵盖从简单的条件判断到使用数组管理节目,再到结合数据库进行动态内容管理的多种方法,并提供详细的代码示例和实践建议,确保内容能够根据当前时间动态展示。…

    2025年12月10日
    000
  • 动态网页内容更新:基于日期时间的PHP与数据库实现教程

    本教程将详细介绍如何使用PHP结合日期时间函数,实现网页内容的自动更新,例如根据星期和时间段显示不同的节目信息。文章涵盖了从简单的条件判断、利用PHP数组管理节目排期,到最终采用数据库(SQL)进行灵活且可扩展的节目数据管理的多种方法,并提供了相应的代码示例与注意事项。 在许多动态网页应用中,根据当…

    2025年12月10日
    000
  • 网页内容根据日期时间自动更新的实现:PHP与数据库驱动方案

    本文详细阐述了如何使用PHP在网页上实现基于日期和时间的动态内容更新,特别适用于电台节目表等场景。文章涵盖了从简单的条件判断、基于PHP数组的调度,到结合SQL数据库的更高级方法,并提供了相应的代码示例和实践考量,旨在帮助开发者根据需求选择最合适的实现方案。 引言 在现代网页应用中,根据当前日期和时…

    2025年12月10日
    000
  • 基于日期和时间实现网页内容自动更新的教程

    本文详细介绍了如何在网页上根据当前日期和时间自动更新显示内容,特别适用于电台节目单等场景。教程涵盖了三种主要实现方式:基于PHP条件判断的简单逻辑、利用PHP数组管理节目单,以及更灵活强大的数据库驱动方案。通过代码示例和详细解释,帮助读者掌握不同场景下的动态内容展示技术,并探讨了时区设置、性能优化等…

    2025年12月10日
    000
  • 基于日期时间自动更新网页内容的PHP与数据库实现指南

    本教程详细阐述了如何在网页上实现基于日期和时间的内容自动更新,特别适用于广播电台节目表等场景。文章涵盖了三种主要方法:使用PHP条件逻辑、利用PHP数组管理节目排期,以及通过数据库进行动态数据管理。每种方法都提供了详细的代码示例和适用场景分析,并讨论了如何处理时间精度、提高可维护性及实现实时更新,旨…

    2025年12月10日
    000
  • PHP如何开发股票分析平台?付费数据接口提供

    选择付费数据接口时,需重点考量数据覆盖范围与粒度、接口稳定性与响应速度、并发限制及费用模式;2. 集成时应使用guzzle等http客户端封装api请求,妥善处理认证、错误与限流;3. 数据存储需设计合理的数据库结构并建立关键索引,历史数据通过定时任务批量导入,实时数据采用拉取+缓存策略,结合red…

    2025年12月10日
    000
  • PHP怎样使用Swoole协程?高性能网络编程

    swoole协程通过go函数创建协程并利用底层i/o劫持与调度机制,实现同步写法下的异步非阻塞操作,1. 使用co::go启动协程,使http请求和数据库查询等i/o操作自动挂起与恢复;2. 通过协程化客户端(如cohttpclient、comysql)实现高性能i/o;3. 利用coroutine…

    2025年12月10日
    000

发表回复

登录后才能评论
关注微信