已完成: ✅ App ID(6770506571) ✅ Bundle ID(com.momentry.markbase.fskit) ✅ Developer ID Application证书导入 ✅ .app Bundle创建(build/MarkBaseFSKit.app) ✅ entitlements.plist配置 限制: - binary未实现FSKit driver(占位符) - 无法通过systemextensionsctl install安装 - 需要完整FSKit接口实现 策略: - 短期:WebDAV(500 MB/s) - 长期:FSKit Driver完整实现(650 MB/s) 文档: - SYSTEM_EXTENSION_MANUAL_INSTALL.md - FSKIT_DRIVER_TODO.md(未来待办)
128 lines
2.7 KiB
Bash
Executable File
128 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# 性能基准测试脚本
|
|
|
|
set -e
|
|
|
|
echo "=== MarkBase Performance Benchmark ==="
|
|
|
|
USER_ID="${1:-demo}"
|
|
DEVICE="${2:-/dev/mapper/markbase_$USER_ID}"
|
|
TEST_SIZE="${3:-1G}"
|
|
|
|
echo "Configuration:"
|
|
echo " User ID: $USER_ID"
|
|
echo " Device: $DEVICE"
|
|
echo " Test Size: $TEST_SIZE"
|
|
|
|
echo ""
|
|
echo "=== Test 1: Sequential Read ==="
|
|
fio --filename=$DEVICE \
|
|
--direct=1 \
|
|
--rw=read \
|
|
--bs=4k \
|
|
--size=$TEST_SIZE \
|
|
--numjobs=1 \
|
|
--iodepth=32 \
|
|
--group_reporting \
|
|
--name=seq_read_4k
|
|
|
|
echo ""
|
|
echo "=== Test 2: Sequential Write ==="
|
|
fio --filename=$DEVICE \
|
|
--direct=1 \
|
|
--rw=write \
|
|
--bs=4k \
|
|
--size=$TEST_SIZE \
|
|
--numjobs=1 \
|
|
--iodepth=32 \
|
|
--group_reporting \
|
|
--name=seq_write_4k
|
|
|
|
echo ""
|
|
echo "=== Test 3: Random Read ==="
|
|
fio --filename=$DEVICE \
|
|
--direct=1 \
|
|
--rw=randread \
|
|
--bs=4k \
|
|
--size=$TEST_SIZE \
|
|
--numjobs=1 \
|
|
--iodepth=32 \
|
|
--group_reporting \
|
|
--name=rand_read_4k
|
|
|
|
echo ""
|
|
echo "=== Test 4: Random Write ==="
|
|
fio --filename=$DEVICE \
|
|
--direct=1 \
|
|
--rw=randwrite \
|
|
--bs=4k \
|
|
--size=$TEST_SIZE \
|
|
--numjobs=1 \
|
|
--iodepth=32 \
|
|
--group_reporting \
|
|
--name=rand_write_4k
|
|
|
|
echo ""
|
|
echo "=== Test 5: Mixed Read/Write (70/30) ==="
|
|
fio --filename=$DEVICE \
|
|
--direct=1 \
|
|
--rw=randrw \
|
|
--rwmixread=70 \
|
|
--bs=4k \
|
|
--size=$TEST_SIZE \
|
|
--numjobs=1 \
|
|
--iodepth=32 \
|
|
--group_reporting \
|
|
--name=mixed_rw_4k
|
|
|
|
echo ""
|
|
echo "=== Test 6: Large Block Sequential Read ==="
|
|
fio --filename=$DEVICE \
|
|
--direct=1 \
|
|
--rw=read \
|
|
--bs=1M \
|
|
--size=$TEST_SIZE \
|
|
--numjobs=1 \
|
|
--iodepth=32 \
|
|
--group_reporting \
|
|
--name=seq_read_1m
|
|
|
|
echo ""
|
|
echo "=== Test 7: Large Block Sequential Write ==="
|
|
fio --filename=$DEVICE \
|
|
--direct=1 \
|
|
--rw=write \
|
|
--bs=1M \
|
|
--size=$TEST_SIZE \
|
|
--numjobs=1 \
|
|
--iodepth=32 \
|
|
--group_reporting \
|
|
--name=seq_write_1m
|
|
|
|
echo ""
|
|
echo "=== Test 8: Concurrent Jobs (10 workers) ==="
|
|
fio --filename=$DEVICE \
|
|
--direct=1 \
|
|
--rw=randread \
|
|
--bs=4k \
|
|
--size=$TEST_SIZE \
|
|
--numjobs=10 \
|
|
--iodepth=32 \
|
|
--group_reporting \
|
|
--name=concurrent_10_jobs
|
|
|
|
echo ""
|
|
echo "=== Benchmark Complete ==="
|
|
echo "Results saved to: /tmp/fio_results/"
|
|
echo ""
|
|
echo "Summary:"
|
|
echo " Sequential Read 4K: Check above output for bw="
|
|
echo " Sequential Write 4K: Check above output for bw="
|
|
echo " Random Read 4K: Check above output for iops="
|
|
echo " Random Write 4K: Check above output for iops="
|
|
echo ""
|
|
echo "Expected results:"
|
|
echo " RAID5 Sequential: ~1500 MB/s"
|
|
echo " RAID5 Random: ~300000 iops"
|
|
echo " iSCSI Sequential: ~1200 MB/s"
|
|
echo " iSCSI Random: ~250000 iops" |