تست فشار Preflight

اسکریپت tools\Run-PreflightStress.ps1 ابزار کنسول HotPDFPreflight را کامپایل می‌کند، آن را روی یک دایرکتوری بزرگ PDF فایل به فایل اجرا می‌کند، گزارش‌ها و لاگ‌ها را برای هر فایل می‌نویسد و یک مبنای عملکرد JSON / Markdown را ثبت می‌کند؛ هر فایل در یک زمان‌بندی محدود (timeout) ایزوله می‌شود تا یک فایل PDF پرهزینه نتواند کل اجرا را مسدود کند؛ زمان محدود پیش‌فرض ۱۲۰ ثانیه است تا به فایل‌های بزرگ با محدودیت‌های پیاده‌سازی اجازه پایان دهد در حالی که ورودی‌های آسیب‌رسان را همچنان ایزوله نگه می‌دارد

اجرای پیش‌فرض

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

متریک‌ها

مبنای ثبت‌شده شامل تعداد کل فایل‌های ورودی، تعداد فایل‌های انتخاب‌شده، مجموع بایت‌ها، بزرگ‌ترین و کوچک‌ترین اندازه ورودی انتخاب‌شده، تعداد پردازش‌شده / پاس‌شده / ناموفق / زمان‌تمام‌شده، ثانیه‌های سپری‌شده، فایل در ثانیه، مگابایت در ثانیه، فرمت خروجی، پیش‌تنظیم انتخاب‌شده، مسیر CSV هر فایل، ریشه گزارش و ریشه لاگ است

تفسیر خرابی‌ها

یک ردیف ناموفق یا زمان‌تمام‌شده به این معنی است که یک فایل PDF نتوانسته در محدوده محدودیت‌های اجرای فعلی پردازش شود؛ اسکریپت همچنان مبنا را می‌نویسد و با موفقیت خارج می‌شود تا کارهای رگرسیون شواهد را نگه دارند؛ افزایش ناگهانی در خرابی‌ها، ردیف‌های زمان‌تمام‌شده یا افت شدید توان عملیاتی را به عنوان سیگنالی برای بازرسی لاگ هر فایل و دایرکتوری گزارش در نظر بگیرید

موضوعات مرتبط