Testy obciążeniowe preflight

tools\Run-PreflightStress.ps1 kompiluje narzędzie konsolowe HotPDFPreflight, uruchamia je na dużym katalogu PDF plik po pliku, zapisuje raporty i logi dla każdego pliku oraz rejestruje bazę wydajności JSON / Markdown. Każdy plik jest izolowany limitem czasu, więc pojedynczy kosztowny PDF nie może zablokować całego przebiegu. Domyślny limit czasu wynosi 120 sekund, aby duże pliki z limitami implementacyjnymi mogły się zakończyć, a jednocześnie aby nadal izolować patologiczne dane wejściowe

Uruchomienie domyślne

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

Domyślnym katalogiem próbek jest D:\PDFdoc\PDF-Samples. Wyniki przebiegu są zapisywane pod Tests\PreflightStress\runs\, co jest ignorowane przez Git, ponieważ raporty i logi zależą od maszyny

Niestandardowy katalog próbek

powershell -NoProfile -ExecutionPolicy Bypass -File tools\Run-PreflightStress.ps1 `
  -SampleRoot D:\PDFdoc\PDF-Samples `
  -OutputRoot D:\Temp\HotPDFPreflightStress `
  -MaxFiles 1000 `
  -MaxBytes 5242880 `
  -MaxSecondsPerFile 120

Metryki

Baza rejestruje łączną liczbę plików wejściowych, liczbę wybranych plików, sumy bajtów, największy i najmniejszy rozmiar wybranego wejścia, liczby przetworzonych / zaliczonych / niezaliczonych / przekroczonych czasowo plików, czas trwania w sekundach, pliki na sekundę, MiB na sekundę, format wyjścia, wybrany preset, ścieżkę CSV dla pojedynczych plików, katalog główny raportów i katalog główny logów

Interpretowanie błędów

Wiersz niepowodzenia lub przekroczenia czasu oznacza, że jednego PDF nie dało się przetworzyć w bieżących limitach przebiegu. Skrypt nadal zapisuje bazę i kończy się powodzeniem, aby zadania regresyjne mogły zachować dowody. Nagły wzrost liczby niepowodzeń, wierszy timeout lub gwałtowny spadek przepustowości traktuj jako sygnał do sprawdzenia logu danego pliku i katalogu raportu

Powiązane tematy