|
Preflight Stress Testing
tools\Run-PreflightStress.ps1 compiles the
HotPDFPreflight console tool, runs it over a large PDF
directory one file at a time, writes per-file reports and logs, and
records a JSON / Markdown performance baseline. Each file is isolated
behind a timeout so a single expensive PDF cannot block the whole run.
The default timeout is 120 seconds to allow large implementation-limit
files to finish while still isolating pathological inputs.
Default run
powershell -NoProfile -ExecutionPolicy Bypass -File tools\Run-PreflightStress.ps1
The default sample root is D:\PDFdoc\PDF-Samples. Run
output is written under Tests\PreflightStress\runs\, which
is ignored by Git because the reports and logs are 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
The baseline captures 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, and log root.
Interpreting failures
A failed or timed-out row means that one PDF could not be processed
within the current run limits. The script still writes the baseline and
exits successfully so regression jobs can keep the evidence. Treat a
sudden increase in failures, timeout rows, or a sharp throughput drop as
the signal to inspect the per-file log and report directory.
Related Topics
|