强曰为道
与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

Sysbench 完全指南

Sysbench 完全指南

Sysbench 是一款开源的、多线程的基准测试工具,广泛应用于数据库、文件系统、内存、CPU 等系统组件的性能评估。它最初由 Peter Zaitsev 和 Alexey Kopytov 开发,如今已成为性能测试领域的事实标准之一。


本指南适用人群

角色场景
DBA评估 MySQL / PostgreSQL 数据库性能、对比不同配置
运维工程师服务器选型、存储 I/O 测试、容量规划
后端开发者应用上线前的性能基线评估
架构师对比不同硬件 / 云方案的性价比
SRE持续性能监控、回归测试

教程目录

章节标题核心内容
01Sysbench 简介什么是 Sysbench、用途与适用场景、与其他工具对比
02安装与编译各平台安装方法、源码编译、版本选择
03基础用法命令语法、通用选项、输出解读
04OLTP 标准测试oltp_read_write、oltp_read_only 等内置测试详解
05自定义 Lua 测试Lua 脚本编写、自定义测试场景、高级技巧
06MySQL 性能测试连接配置、常用测试场景、调优验证
07PostgreSQL 性能测试连接配置、常用测试场景、与 MySQL 测试对比
08文件 I/O 测试顺序读写、随机读写、不同 I/O 调度器对比
09CPU 基准测试素数计算、多核扩展性、性能基线
10内存测试内存带宽、延迟测试、NUMA 分析
11Docker 环境测试容器中运行 Sysbench、编排测试、CI/CD 集成
12最佳实践测试方法论、结果解读、报告生成、常见陷阱

快速开始

如果你已经熟悉基本概念,可以直接使用以下命令快速体验:

# 1. 安装 sysbench
sudo apt install sysbench        # Debian/Ubuntu
sudo yum install sysbench        # CentOS/RHEL

# 2. CPU 快速测试
sysbench cpu --threads=4 --time=30 run

# 3. 内存快速测试
sysbench memory --threads=4 --time=30 run

# 4. 文件 I/O 快速测试
sysbench fileio --file-test-mode=rndrw --time=30 prepare
sysbench fileio --file-test-mode=rndrw --time=30 run
sysbench fileio --file-test-mode=rndrw cleanup

# 5. MySQL OLTP 快速测试(需要 MySQL 服务)
sysbench oltp_read_write \
  --mysql-host=127.0.0.1 \
  --mysql-port=3306 \
  --mysql-user=root \
  --mysql-password=your_password \
  --tables=10 \
  --table-size=100000 \
  prepare

sysbench oltp_read_write \
  --mysql-host=127.0.0.1 \
  --mysql-user=root \
  --mysql-password=your_password \
  --tables=10 \
  --table-size=100000 \
  --threads=8 \
  --time=300 \
  run

sysbench oltp_read_write \
  --mysql-host=127.0.0.1 \
  --mysql-user=root \
  --mysql-password=your_password \
  --tables=10 \
  cleanup

版本说明

本教程基于 sysbench 1.0.20+(支持 Lua 5.1 脚本的现代版本)。早期版本(0.4.x 系列)语法有较大差异,请参考各章中的版本兼容说明。


阅读建议

  1. 初学者:按顺序阅读 01 → 02 → 03 → 09(CPU),快速上手
  2. DBA:重点阅读 03 → 04 → 05 → 06/07 → 12
  3. 运维:重点阅读 03 → 08 → 09 → 10 → 11 → 12
  4. 全栈:通读全文,建立完整知识体系

扩展阅读