电子商务网站建设设计原则,莱阳网站制作,义乌做网站的,网站建设的语言与工具引言
如何用Sysbench压测满足mysql生产运行的服务器#xff1f;
Sysbench返回的压测结果如何解读#xff1f;
别急#xff0c;本文会教大家如何使用并且如何解读压测的结果信息#xff0c;如何对mysql服务器进行压测#xff01;
一、Sysbench核心功能全景解析
1.1 工…引言
如何用Sysbench压测满足mysql生产运行的服务器
Sysbench返回的压测结果如何解读
别急本文会教大家如何使用并且如何解读压测的结果信息如何对mysql服务器进行压测
一、Sysbench核心功能全景解析
1.1 工具定位与核心模块
Sysbench是集成了多种测试模式的瑞士军刀式压测工具其模块化架构如下
模块名称测试方向关键指标应用场景cpu处理器计算能力Events/s算法类应用验证memory内存吞吐性能传输速率(MB/s)缓存系统性能评估fileio存储IO性能IOPS/延迟存储选型验证oltp数据库事务处理TPS/QPS数据库服务器选型threads线程调度效率上下文切换耗时高并发应用调优
1.2 下载
# 安装
yum -y install sysbench# 查看已安装版本
sysbench --version二、全组件压测参数精解
2.1 CPU性能测试计算密集型场景
sysbench cpu \
--cpu-max-prime20000 \
--threads4 \
--time60 \
--events0 \
run参数释义
--cpu-max-prime质数计算范围越大cpu计算量越大--events0不限制事件总数按时间执行--threads应与物理核心数一致非逻辑线程--time60测试持续 60 秒
结果解析
Prime numbers limit: 20000 # 计算的质数范围
Number of threads: 1547.54 # 并发线程数CPU speed:events per second: 285.74 # 每秒完成的计算次数越大越好General statistics:total time: 60.0013s # 实际总耗时接近设定的60秒total number of events: 92857 # 60秒内总共完成的计算次数Latency (ms):min: 2.35 # 最快一次计算耗时avg: 2.58 # 平均每次计算耗时max: 38.4346 # 最慢一次计算耗时95th percentile: 2.91 # 95%的计算耗时≤2.91ms主要关注CPU speedevents per second: 285.74
直接体现CPU计算吞吐量数值越高性能越强
2.2 内存性能测试带宽验证
sysbench memory \--memory-block-size16K \--memory-total-size5G \--memory-operwrite \--memory-access-modernd \--threads4 \--time600 \run参数推荐值依据block-size16K匹配innodb_page_size配置(默认16K)total-size5G需超过buffer_pool_size(通常设为物理内存75%)threads16等于物理核心数双路E52×8核access-modernd匹配B树索引访问模式
结果解析
Total operations: 327680 (82003.29 per second) 总操作次数5120.00 MiB transferred (1281.30 MiB/sec) 总传输数据量实际内存带宽(1281.30 MiB/secGeneral statistics:total time: 3.9938s 测试总耗时total number of events: 327680 等同于Total operationsLatency (ms):min: 0.01 最快操作耗时avg: 0.05 平均延迟max: 7.14 最慢操作耗时95th percentile: 0.08 95%操作在0.08ms内完成sum: 15604.66 所有操作累计耗时Threads fairness:events (avg/stddev): 81920.0000/0.00 各线程平均操作数execution time (avg/stddev): 3.9012/0.05 各线程平均耗时3.9秒
主要关注(1281.30 MiB/sec) 该参数为内存带宽
2.3 存储性能测试IO混合负载
准备
sysbench fileio \
--file-total-size10G \
--file-test-moderndrw \
--file-extra-flagsdirect \
--time300 \
--threads16 \
prepare测试
sysbench fileio \
--file-test-moderndrw \
--time300 \
run参数释义
--file-test-modeseqwr/seqrewr/rndrw随机读写混合IO模式--file-total-size10G总测试文件大小我这里测试的存储性能比较差所以文件大小只测10G--file-extra-flagsdirect跳过OS缓存会显著降低速度绕过缓存但反映真实磁盘性能--threads16并发线程数
结果解析
在执行prepare命令的时候通过iostat观察到磁盘的读写情况
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 2.00 0.00 0.03 32.00 0.00 1.50 0.00 1.50 1.50 0.30
sdc 0.00 0.00 0.00 1.00 0.00 0.00 8.00 0.00 1.00 0.00 1.00 1.00 0.10
sdb 0.00 0.00 0.00 582.00 0.00 9.09 32.00 0.97 1.67 0.00 1.67 1.67 97.20
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 585.00 0.00 9.13 31.96 0.98 1.67 0.00 1.67 1.66 97.20
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdf 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
设备状态主要负载类型利用率(%util)每秒写操作(w/s)吞吐量(wMB/s)sdb重度负载顺序小写98.10%4136.45dm-0重度负载顺序小写98.10%4166.49
核心指标解读
指标值健康阈值问题描述%util98.1%70%设备已完全饱和I/O通道拥塞w/s413根据设备类型对于HDD偏高SSD正常偏低wMB/s6.45-实际带宽利用率低avgrq-sz32KB-请求碎片化严重理想≥128KBawait2.38ms5ms队列等待时间可控avgqu-sz0.981存在持续排队但未严重堆积
正式测试返回值
File operations:reads/s: 291.59writes/s: 194.39fsyncs/s: 622.10Throughput:read, MiB/s: 4.56written, MiB/s: 3.04General statistics:total time: 300.2915stotal number of events: 332743Latency (ms):min: 0.00avg: 0.90max: 251.7995th percentile: 3.55sum: 299449.80Threads fairness:events (avg/stddev): 332743.0000/0.00execution time (avg/stddev): 299.4498/0.00
关键操作指标基准值为参考范围
参数数值单位定义性能评价reads/s291.59次/秒每秒文件读取操作次数中负载水平SSD典型值10,000-100,000次/秒HDD100-200次/秒writes/s194.39次/秒每秒文件写入操作次数存在优化空间批量写入可提升效率fsyncs/s622.10次/秒每秒强制刷盘次数同步存储介质操作高危操作机械硬盘fsync成本极高易成瓶颈read throughput4.56MiB/s数据读取速度低速模式SSD PCIe4.0理论值5,000MiB/sHDD≈150MiB/swrite throughput3.04MiB/s数据写入速度极低吞吐提示小文件随机写场景
延迟深度解析单位毫秒
指标数值典型参考值异常状态判别min latency0.000.01-0.1ms (SSD)直接内存操作场景page cache命中avg latency0.901ms (NVMe SSD正常)硬件性能达标但需关注高频fsync的影响max latency251.79100ms (OLTP场景要求)严重超标可能遭遇机械寻道/坏扇区重试95th percentile3.55应类似avg latency存在长尾延迟5%请求3.55ms总延迟累积299,449.80无直接参考值总延迟≈测试时长299秒≈300秒验证系统满载运行
三、MySQL服务器专项验证实战演练
3.1 测试环境准备
# 创建专用测试库
mysql -uroot -p -e CREATE DATABASE sbtest;# 生成生产级测试数据
sysbench --threads16 --time600 --report-interval1 --mysql-host127.0.0.1 --mysql-port3306 --mysql-userroot --mysql-password密码 --mysql-dbsbtest --tables8 --table-size50000 oltp_read_write prepare关键参数说明
--table-size单表5万行模拟小型数据库--tables8多表结构验证锁竞争小型数据库标准oltp_read_write测试模式OLTP混合读写
3.2 读写测试
sysbench --threads16 --time30 --report-interval1 --mysql-host127.0.0.1 --mysql-port3306 --mysql-userroot --mysql-password密码 --mysql-dbsbtest --tables8 --table-size50000 oltp_read_write run3.3 测试结果深度解析
SQL statistics:queries performed:read: 129626write: 37036other: 18518total: 185180transactions: 9259 (308.34 per sec.) #关键参数queries: 185180 (6166.89 per sec.) #关键参数ignored errors: 0 (0.00 per sec.)reconnects: 0 (0.00 per sec.)General statistics:total time: 30.0266stotal number of events: 9259Latency (ms):min: 12.06avg: 51.87max: 3342.5095th percentile: 108.68 #关键参数sum: 480247.49Threads fairness:events (avg/stddev): 578.6875/4.78execution time (avg/stddev): 30.0155/0.01
性能水平
TPS 308.34表示数据库每秒处理约 308 个事务吞吐量中等具体需结合硬件配置评估。平均延迟 51.87ms响应时间在合理范围但 95% 请求 ≤ 108.68ms最大延迟 3.3 秒可能存在偶发性能问题如锁竞争、I/O 瓶颈。
通过本指南您将能够
全面掌握Sysbench的测试能力精准定位服务器性能瓶颈验证MySQL服务器承载能力
最终建议在新服务器上线、配置变更、业务量增长30%时都应执行全量压力测试。保存历史测试数据形成性能趋势分析为容量规划提供数据支撑。