Профилирование сайта IIS в Perl

Я пытаюсь профилировать веб-сайт, над которым я должен работать в IIS, в Perl. Сайт использует Catalyst, я использую Devel::NYTProf чтобы профилировать его.

По умолчанию файл профиля записывается в ./nytprof.out, У меня нет доступа к командной строке, используемой для запуска Perl, ни для передачи аргументов (я использую use Devel::NYTProf включить профилирование в моем Perl-файле).

Но я не могу найти файл... У вас есть идея, где это будет? Как я могу профилировать свой сайт с NYTProf лучше?

1 ответ

Я полагаю, вы имеете в виду IIS.

Вы проверили пользователя, на котором запущен веб-сервер, который имеет разрешение на запись в вероятные папки? Используется для запуска от имени IANONUSR (IIRC) или аналогичного, который по очевидным причинам имел очень контролируемые разрешения.

Модуль IIS FastCGI позволяет вам устанавливать переменные среды для процессов FastCGI, что должно позволить вам установить out_file для NYTPROF. Если ничего не помогает, вы можете взломать Run.pm в NYTPROF и изменить местоположение таким образом, грубо, но, по крайней мере, вы знаете, куда он пытается написать.

Я приветствую ваши усилия, возможно, я просто перенесу приложение для запуска под Linux. Первое время заставить NYTProf работать под Linux было достаточно сложно, тем более что процессы должны нормально завершаться, поэтому к процессам FastCGI был добавлен метод, который заставлял их умирать, когда я выбирал конкретный URL-адрес, который я продолжал извлекать, пока все процессы не были завершены. мертвых.

Тем не менее, NYTProf стоил усилий на Linux, он мог отследить регулярное выражение, которое потребляло огромное количество процессоров, и даже не нужно было вызывать его на 99,9% времени. Опыт работы с Windows был "развилкой", что снижало производительность, но я думаю, что Microsoft несколько исправила это со времен IIS.

Другие вопросы по тегам