benchmarking

# Debian/Ubuntu apt install sysbench

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "benchmarking" with this command: npx skills add chaterm/terminal-skills/chaterm-terminal-skills-benchmarking

性能基准测试

概述

压力测试、基准测试工具使用技能。

sysbench

安装

Debian/Ubuntu

apt install sysbench

CentOS/RHEL

yum install sysbench

CPU 测试

单线程

sysbench cpu run

多线程

sysbench cpu --threads=4 run

指定时间

sysbench cpu --threads=4 --time=60 run

内存测试

顺序读写

sysbench memory run

随机读写

sysbench memory --memory-access-mode=rnd run

指定大小

sysbench memory --memory-block-size=1M --memory-total-size=10G run

磁盘 IO 测试

准备测试文件

sysbench fileio --file-total-size=10G prepare

随机读写

sysbench fileio --file-total-size=10G --file-test-mode=rndrw run

顺序读

sysbench fileio --file-total-size=10G --file-test-mode=seqrd run

清理

sysbench fileio --file-total-size=10G cleanup

MySQL 测试

准备数据

sysbench oltp_read_write --mysql-host=localhost --mysql-user=root
--mysql-password=pass --mysql-db=test --tables=10 --table-size=100000 prepare

运行测试

sysbench oltp_read_write --mysql-host=localhost --mysql-user=root
--mysql-password=pass --mysql-db=test --tables=10 --table-size=100000
--threads=16 --time=60 run

清理

sysbench oltp_read_write --mysql-host=localhost --mysql-user=root
--mysql-password=pass --mysql-db=test cleanup

fio 磁盘测试

基础测试

顺序读

fio --name=seqread --rw=read --bs=1M --size=1G --numjobs=1 --runtime=60

顺序写

fio --name=seqwrite --rw=write --bs=1M --size=1G --numjobs=1 --runtime=60

随机读

fio --name=randread --rw=randread --bs=4k --size=1G --numjobs=4 --runtime=60

随机写

fio --name=randwrite --rw=randwrite --bs=4k --size=1G --numjobs=4 --runtime=60

混合读写

fio --name=randrw --rw=randrw --bs=4k --size=1G --numjobs=4 --rwmixread=70 --runtime=60

配置文件

test.fio

[global] ioengine=libaio direct=1 runtime=60 time_based

[seqread] rw=read bs=1M size=1G

[randread] rw=randread bs=4k size=1G numjobs=4

fio test.fio

HTTP 压测

ab (Apache Bench)

基础测试

ab -n 1000 -c 100 http://localhost/

带 Keep-Alive

ab -n 1000 -c 100 -k http://localhost/

POST 请求

ab -n 1000 -c 100 -p data.json -T application/json http://localhost/api

wrk

基础测试

wrk -t4 -c100 -d30s http://localhost/

带脚本

wrk -t4 -c100 -d30s -s post.lua http://localhost/api

hey

基础测试

hey -n 1000 -c 100 http://localhost/

指定时间

hey -z 30s -c 100 http://localhost/

POST 请求

hey -n 1000 -c 100 -m POST -d '{"key":"value"}' http://localhost/api

网络测试

iperf3

服务端

iperf3 -s

客户端

iperf3 -c server_ip

UDP 测试

iperf3 -c server_ip -u -b 1G

双向测试

iperf3 -c server_ip -d

多线程

iperf3 -c server_ip -P 4

netperf

服务端

netserver

TCP 吞吐

netperf -H server_ip

TCP 延迟

netperf -H server_ip -t TCP_RR

常见场景

场景 1:服务器基准测试

#!/bin/bash echo "=== CPU 测试 ===" sysbench cpu --threads=$(nproc) --time=30 run

echo "=== 内存测试 ===" sysbench memory --threads=$(nproc) --time=30 run

echo "=== 磁盘测试 ===" fio --name=test --rw=randrw --bs=4k --size=1G --runtime=30 --time_based

场景 2:数据库基准

#!/bin/bash

MySQL OLTP 测试

sysbench oltp_read_write
--mysql-host=localhost
--mysql-user=root
--mysql-password=pass
--mysql-db=sbtest
--tables=10
--table-size=100000
--threads=16
--time=300
--report-interval=10
run

结果解读

指标 说明

TPS 每秒事务数

QPS 每秒查询数

IOPS 每秒 IO 操作数

延迟 响应时间

吞吐量 数据传输速率

故障排查

检查系统负载

uptime vmstat 1

检查 IO

iostat -x 1

检查网络

sar -n DEV 1

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

cron

No summary provided by upstream source.

Repository SourceNeeds Review
General

system-admin

No summary provided by upstream source.

Repository SourceNeeds Review
General

systemd

No summary provided by upstream source.

Repository SourceNeeds Review
General

vpn

No summary provided by upstream source.

Repository SourceNeeds Review