新部署的MySQL服务器如何通过sysbench进行基准压力测试?

雨杰小哥_3551

雨杰小哥_3551

2026-11-04

916人浏览

原创

sysbench命令报“command not found”主因是PATH未包含可执行文件路径,需用find /usr -name "sysbench"定位(常见于/usr/local/bin/sysbench),再检查并更新PATH或配置软链;prepare报“Unknown database 'sbtest'”因库未手动创建且用户缺建库权限。

新部署的mysql服务器如何通过sysbench进行基准压力测试?

直接上手跑 sysbench 会卡在第一步:不是没装,是根本找不到命令;不是权限不够,是库压根没建;不是配置错了,是默认单线程插100万行,磁盘都烧红了还没完。

sysbench 命令报 “command not found” 怎么快速定位

别急着重装,先确认它到底在哪儿。用 find /usr -name "sysbench" 2>/dev/null 搜一遍,90% 的情况会返回 /usr/local/bin/sysbench 或 /usr/bin/sysbench。如果找到了但还报错,说明 $PATH 没包含那个路径:

  • Ubuntu/Debian:检查是否启用了 universe 源,再跑 sudo apt update && sudo apt install sysbench
  • CentOS/RHEL 8+:必须先 sudo dnf install epel-release,再 dnf install sysbench
  • 源码安装后:确认执行过 ./configure --prefix=/usr/local,且 /usr/local/bin 在 $PATH 中;实在不行,就直接用绝对路径调用,比如 /usr/local/bin/sysbench --version

prepare 阶段报 “Unknown database 'sbtest'”

这个错误和权限无关,纯粹是数据库不存在。sysbench 只操作表,从不建库。你必须手动登录 MySQL 执行:

  • CREATE DATABASE sbtest CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  • CREATE USER 'sbuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass123';(MySQL 8.0+ 必须显式指定认证插件)
  • GRANT ALL ON sbtest.* TO 'sbuser'@'localhost'; FLUSH PRIVILEGES;

后续所有命令都必须显式带上 --mysql-db=sbtest 和 --mysql-user=sbuser,不能依赖默认值。

MySQL8 CRM Schema Design Expert
MySQL8 CRM Schema Design Expert

面向 CRM 系统的 MySQL 8 数据库模式设计。当用户需要为客户关系管理(CRM)系统设计、评审、优化或生成数据库模式时,应使用此项技能。

下载

prepare 卡住或生成极慢:别让单线程硬扛 100 万行

默认 --table-size=1000000 是单线程插入,I/O 和事务开销拉满。实操要改三个关键点:

  • 加并发:--threads=8(按压测机 CPU 核数设,别盲目堆高)
  • 拆小表:--table-size=100000 --tables=4(4 张 10 万行的表,比 1 张百万行表预热快得多)
  • 关 autocommit:--mysql-autocommit=off,同时临时调低 MySQL 的 innodb_flush_log_at_trx_commit=2 和 sync_binlog=0(仅限测试环境!压完必须还原)

run 阶段 QPS 上不去,processlist 里全是 “Waiting for table metadata lock”

这是老版本 sysbench(如 1.0.20 之前)在 prepare 后立刻 run 导致的 DDL/DML 冲突。本质是脚本悄悄重建索引,锁住了元数据。解决办法很直接:

  • 升级到 sysbench ≥ 1.0.20
  • 压测前显式加 --db-driver=mysql,避免误走 pgsql 分支

真正容易被忽略的是:压测结果的可信度,取决于你有没有关掉那些“只该在测试环境开”的开关——比如 innodb_flush_log_at_trx_commit=2,它会让数据丢失风险陡增,但没人会在生产环境这么干;一旦忘了还原,下次重启 MySQL 就可能丢数据。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

mysql

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

980

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3392

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1116

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

989

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

514

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

3116

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5872

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

907

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 194人学习