MCPInstall

benchmarking

性能基准测试

Installs
63
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/chaterm/terminal-skills --skill benchmarking
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads benchmarking automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

性能基准测试

概述

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

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

FAQ

What does the benchmarking skill do?

性能基准测试

How do I install benchmarking?

Run npx skills add https://github.com/chaterm/terminal-skills --skill benchmarking in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/benchmarking/ (personal) or .claude/skills/benchmarking/ (project).

Which AI agents can use benchmarking?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is benchmarking safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains benchmarking?

It is published by chaterm in chaterm/terminal-skills. It has 63 recorded installs.

More from chaterm/terminal-skills

View all →

cron

chaterm/terminal-skills

定时任务管理

1.3K installs

system-admin

chaterm/terminal-skills

Linux system administration and monitoring

DevOps & Cloud561 installs

systemd

chaterm/terminal-skills

Open the skill to read its SKILL.md instructions.

253 installs

network-tools

chaterm/terminal-skills

Open the skill to read its SKILL.md instructions.

217 installs

vpn

chaterm/terminal-skills

Open the skill to read its SKILL.md instructions.

193 installs

ssh

chaterm/terminal-skills

Open the skill to read its SKILL.md instructions.

147 installs

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs