|
Preflight Stress Testing
tools\Run-PreflightStress.ps1
tools\Run-PreflightStress.ps1 會編譯 HotPDFPreflight console tool,逐一對大型 PDF directory 執行,寫入 per-file reports 與 logs,並記錄 JSON / Markdown performance baseline。每個檔案都以 timeout 隔離,因此單一昂貴 PDF 不會阻塞整個執行。預設 timeout 是 120 seconds,可讓大型 implementation-limit files 完成,同時仍隔離 pathological inputs
Default run
powershell -NoProfile -ExecutionPolicy Bypass -File tools\Run-PreflightStress.ps1
預設 sample root 是 D:\PDFdoc\PDF-Samples。Run output 會寫入 Tests\PreflightStress\runs\ 下;該路徑被 Git 忽略,因為 reports 與 logs 具有 machine-specific 性質
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 row 表示某個 PDF 無法在目前 run limits 內處理;script 仍會寫入 baseline,只要有檔案失敗或逾時就以 exit code 1 結束,既保留 evidence,也讓 regression jobs 能偵測到不成功的執行
每次執行請選用全新的 OutputRoot;reports 目錄非空時會被拒絕,舊報告因此無法讓後續執行看似成功,先前的 reports 也仍然保留可用
Related Topics
|