当前位置:首页 > AI技术 > 正文内容

mysql性能基准测试工具推荐 使sysbench进行压力测试案例|Duuu笔记

admin1个月前 (04-22)AI技术55

数据库开发疑难问题解析与解决方案

sysbench 是 MySQL 压测的事实工业标准,因其 Lua 脚本灵活性、指标可对标 SLO 且被主流云厂商广泛采用;必须源码编译以适配 MySQL 8.0+ 认证机制;prepare 卡住多因权限、网络或 max_allowed_packet 不足;不同 Lua 脚本事务结构差异大,直接影响瓶颈定位;需按目标调参,否则测不到真实瓶颈。

sysbench 是当前 MySQL 压测最稳、最可控的选择

不是“之一”,而是事实上的工业级标准:它被 Percona、阿里云 PolarDB、腾讯云 TDSQL 等大量生产环境用于上线前容量评估和故障复现。相比 tpcc-

mysql

或 mysqlslap,

sysbench

的 Lua 脚本机制让它能灵活模拟真实业务读写比例、事务结构和热点分布,且结果指标(TPS/QPS/95% latency)可直接对标 SLO。

安装必须走源码编译,尤其在新版 MySQL 8.0+ 或自建集群场景

包管理器装的

sysbench

(如

yum install sysbench

)往往链接旧版 MySQL client lib,连接 MySQL 8.0+ 时容易报

Authentication plugin 'caching_sha2_password' cannot be loaded

或直接段错误。源码编译能精准控制依赖版本。

先装对的开发库:

sudo apt install libmysqlclient-dev libssl-dev

(Ubuntu/Debian)或

sudo yum install mysql-devel openssl-devel

(CentOS/RHEL)

务必指定 MySQL 路径(尤其当 MySQL 是 tar.gz 自定义部署):

./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib

编译后验证驱动是否生效:

sysbench --help | grep mysql

应显示

mysql

在 supported drivers 列表中

prepare 阶段卡住或报错,大概率是权限或网络配置问题

sysbench ... prepare

不只是建表,还会执行大量 INSERT,失败时错误信息常被掩盖。常见现象是命令无响应、日志里只有

FATAL: failed to execute MySQL query

,但没具体 SQL。

Action Figure AI

借助Action Figure AI的先进技术,瞬间将照片转化为定制动作人偶。

下载

确认账号有

CREATE

INSERT

SELECT

INDEX

权限,且 host 匹配(别用

'user'@'%'

却连本地

127.0.0.1

检查 MySQL 的

max_allowed_packet

是否太小(默认 4MB),

sysbench

插入百万行时易触发

Packets larger than max_allowed_packet are not allowed

若用 ProxySQL 或中间件,确认其未拦截

PREPARE

EXECUTE

语句(某些版本会静默拒绝)

oltp_read_write.lua 和 oltp_point_select.lua 的行为差异远不止“读写比”

很多人以为换脚本只是改读写比例,实际它们的事务结构、索引使用方式、锁竞争强度完全不同——这直接影响你看到的瓶颈是 CPU、IO 还是锁等待。

oltp_read_write.lua

默认每事务含 10 条 SQL(包括 UPDATE、DELETE、INSERT),主键更新+二级索引维护压力大,容易暴露

innodb_buffer_pool_size

不足或

innodb_log_file_size

过小

oltp_point_select.lua

只做主键等值查询,几乎不写盘,压的是 Buffer Pool 命中率和 CPU 解析能力;若这里 latency 突增,优先查

innodb_buffer_pool_reads

是否飙升

别直接跑默认参数!比如

--tables=10 --table-size=1000000

生成 10GB 数据,但你的 buffer pool 才 2GB —— 结果全是物理读,测的不是 MySQL,是磁盘

真正难的不是跑起来,而是让

sysbench

测出你关心的那个瓶颈。比如想看高并发下死锁频率,就得关掉自动重试(加

--reconnect=off

),再盯着

SHOW ENGINE INNODB STATUS

里的 LATEST DETECTED DEADLOCK;想验证连接池效果,就得把

--threads

从 16 拉到 256,同时观察 MySQL 的

Threads_connected

Aborted_connects

。这些细节不调,数据再好看也没参考价值。

相关文章

【大模型应用开发

二、大模型的泛化与微调 模型的泛化能力:是指一个模型在面对新的、未见过的数据时,能够正确理解和预测这些数据的能力。在机器学习和人工智能领域,模型的泛化能力是评估模型性能的重要指标之一。...

跨平台机器学习:ML.NET架构及应用编程

平台上的一个机器学习框架,它提供了一套丰富的算法和工具,使得开发人员可以轻松地构建和部署机器学习模型。支持多种编程语言,包括等,这使得它成为跨平台机器学习的理想选择。的架构主要包括三个部分:数据读取、...

几种主要的神经网络

卷积神经网络的输入为二维的像素整阵列,输出为这个图片的属性,当网络训练学习后,所输入的图片或许经过稍微的变换,但卷积神经网络还是可以通过识别图片局部的特征而将整个图片识别出来。 :该层...

AI核心技巧:如何重置openclaw硬件设置 openclaw恢复出厂设置操作方法【操作】深度解析|Duuu笔记

重置 OpenClaw 配置有四种方法:一、交互式向导重置(openclaw onboard --reset);二、指定作用域的命令行重置(如--reset-scope config);三、手动删除~...

从入门到精通:前端开发之骡子快跑支持热点借势吗 骡子快跑节日营销文案生成|Duuu笔记

骡子快跑平台提供五步节日营销文案生成路径:一、调用内置32个节日模板库;二、输入热点事件触发动态生成;三、绑定自有素材库实现个性化延展;四、多角色视角协同输出;五、接入微信生态直发并校验合规性。 ☞...

深入理解AI:WorkBuddy 怎么做组织架构图 WorkBuddy 组织架构图生成教程【实战】完全指南|Duuu笔记

WorkBuddy可通过四种方式生成组织架构图:一、用自然语言指令触发AI自动解析并渲染Mermaid图表;二、上传Excel结构化数据映射字段后批量构建动态树状图;三、启用OpenClaw技能包对接...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。