Debian 缓存性能测试实操指南
一 目标与范围
二 系统页缓存与磁盘基准测试
sudo cachestat 1 10(每秒刷新,共 10 次)。关注 HITS/MISSES/DIRTIES、BUFFERS_MB/CACHED_MB,命中率近似为 HITS/(HITS+MISSES)。sudo cachetop,按 READ_HIT%/WRITE_HIT% 排序定位热点进程。pcstat /var/lib/dpkg/status 或 pcstat /usr/bin/*,关注 Cached/Percent 列判断是否已完全缓存。free -h 观察 available 与 buff/cache;用 iotop 观察进程级磁盘 I/O;用 nmon 做整体资源面板监控。sudo hdparm -Tt /dev/sdX,分别记录 Timing cached 与 Timing buffered disk reads,前者反映内核缓存,后者更接近磁盘真实带宽。sudo apt-get install -y fio
cat > fio-randread.fio <<'EOF'
[global]
ioengine=libaio
direct=1
runtime=60
time_based
numjobs=1
size=1G
[randread]
rw=randread
bs=4k
iodepth=32
EOF
fio fio-randread.fio
sudo sync
echo 3 | sudo tee /proc/sys/vm/drop_caches
三 APT 软件包缓存测试
du -sh /var/cache/apt/archives/。apt-cache pkgnames | wc -l。sudo apt-get clean(清空所有包缓存)、sudo apt-get autoclean(仅清理过期索引/旧包)。apt-get update && apt-get upgrade -s | grep -i "hit"(命中提示通常包含 Hit 字样)。四 Redis 缓存服务性能测试
# 安装
sudo apt-get update
sudo apt-get install -y memtier_benchmark
# 运行:100 并发连接,每个连接 10 个 pipelined 请求,测试 60 秒
# --ratio 1:1 表示读写各半;可按需改为 1:0 或 0:1
memtier_benchmark \
--server=your.redis.host \
--port=6379 \
--clients=100 \
--requests=0 \
--pipeline=10 \
--duration=60 \
--ratio=1:1 \
--key-pattern=S:RANDOM \
--key-minimum=1 \
--key-maximum=1000000