Стресово тестване на Preflight

tools\Run-PreflightStress.ps1 компилира конзолния инструмент HotPDFPreflight, стартира го върху голяма PDF директория по един файл наведнъж, записва reports и logs за всеки файл и записва JSON / Markdown performance baseline Всеки файл е изолиран зад timeout, така че един скъп PDF да не може да блокира целия run По подразбиране timeout-ът е 120 секунди, за да могат големи files от implementation limits да завършат, като същевременно се изолират патологични входове

Стандартно изпълнение

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

Стандартният sample root е D:\PDFdoc\PDF-Samples Изходът от run-а се записва под Tests\PreflightStress\runs\, който се игнорира от Git, защото reports и logs са machine-specific

Потребителски 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

Метрики

Baseline-ът улавя общия брой входни файлове, избрания брой файлове, байтовите суми, най-големия и най-малкия размер на избрания вход, броя processed / passed / failed / timed-out, изтекли секунди, файлове в секунда, MiB в секунда, изходния формат, избрания preset, per-file CSV път, report root и log root

Тълкуване на неуспехите

Неуспешен ред или ред с timeout означава, че един PDF не е могъл да бъде обработен в рамките на текущите ограничения на изпълнението. Скриптът все пак записва baseline-а и излиза успешно, за да могат regression job-овете да запазят доказателството. Рязко увеличение на неуспехите, редовете с timeout или рязък спад в throughput-а са знак да проверите per-file log-а и директорията с отчети

Related Topics