预检压力测试

tools\Run-PreflightStress.ps1 编译 HotPDFPreflight 控制台工具,逐个文件遍历大型 PDF 目录,写出每文件报告和日志,并记录 JSON / Markdown 性能基线。每个文件都有超时隔离,单个昂贵的 PDF 不会阻塞整个运行。默认超时 120 秒,既让触及实现上限的大文件跑完,也能隔离病态输入

Default run

powershell -NoProfile -ExecutionPolicy Bypass -File tools\Run-PreflightStress.ps1

默认的样例根目录是 D:\PDFdoc\PDF-Samples。运行输出写在 Tests\PreflightStress\runs\ 下;报告和日志与具体机器相关,该目录被 Git 忽略

Custom sample root

powershell -NoProfile -ExecutionPolicy Bypass -File tools\Run-PreflightStress.ps1 `
  -SampleRoot D:\PDFdoc\PDF-Samples `
  -OutputRoot D:\Temp\HotPDFPreflightStress `
  -MaxFiles 1000 `
  -MaxBytes 5242880 `
  -MaxSecondsPerFile 120

Metrics

baseline 捕获 total input file count、selected file count、byte totals、largest and smallest selected input size、processed / passed / failed / timed-out counts、elapsed seconds、files per second、MiB per second、output format、selected preset、per-file CSV path、report root 和 log root

Interpreting failures

failed 或 timed-out 行表示某个 PDF 无法在当前运行限制内处理;只要有文件失败或超时,脚本仍会写入 baseline 并返回退出码 1,既保留证据,也让 regression jobs 能检测到未成功的运行

每次运行请选择一个全新的 OutputRoot;reports 目录非空时会被拒绝,这样旧报告不会让后续运行出现假成功,先前的报告也都保留可用

Related Topics