|
プリフライト ストレス テスト
tools\Run-PreflightStress.ps1 は、
HotPDFPreflight コンソールツールをコンパイルし、大量の PDF が入ったディレクトリに対して 1 ファイルずつ実行して、ファイルごとのレポートとログを書き出し、
JSON / Markdown 形式のパフォーマンスベースラインを記録します。各ファイルはタイムアウトの下で隔離されるため、
処理の重い PDF が 1 つあっても実行全体が止まることはありません
既定のタイムアウトは 120 秒で、実装上の制限に近い大きなファイルを完走させつつ、病的な入力は引き続き隔離できます
デフォルトの実行
powershell -NoProfile -ExecutionPolicy Bypass -File tools\Run-PreflightStress.ps1
デフォルトのサンプルルートは D:\PDFdoc\PDF-Samples です。実行の出力は Tests\PreflightStress\runs\ の下に書き込まれますが、レポートとログはマシン固有であるため、Git では無視されます
カスタムサンプルルート
powershell -NoProfile -ExecutionPolicy Bypass -File tools\Run-PreflightStress.ps1 `
-SampleRoot D:\PDFdoc\PDF-Samples `
-OutputRoot D:\Temp\HotPDFPreflightStress `
-MaxFiles 1000 `
-MaxBytes 5242880 `
-MaxSecondsPerFile 120
メトリクス
ベースラインは、入力ファイルの総数、選択されたファイル数、合計バイト数、選択された最大および最小の入力サイズ、処理済み / 合格 / 失敗 / タイムアウトの数、経過秒数、1秒あたりのファイル数、1秒あたりのMiB、出力形式、選択されたプリセット、ファイルごとのCSVパス、レポートルート、およびログルートをキャプチャします
失敗の解釈
失敗した行またはタイムアウトした行は、1 つの PDF が現在の実行制限内で処理できなかったことを意味します。スクリプトはベースラインを書き込み、ファイルが 1 つでも失敗またはタイムアウトした場合には終了コード 1 を返します。証拠は保持しつつ、回帰ジョブが失敗した実行を検出できるようにするためです
実行ごとに新しい OutputRoot を選択してください。レポートディレクトリが空でない場合は拒否されるため、古いレポートが後続の実行を成功に見せかけることはありません。過去のレポートも利用可能なまま残ります
関連トピック
|