0

我正在尝试在 Perl 中分析我必须在 IIS 中工作的网站。该网站使用Catalyst. 我正在使用Devel::NYTProf它来分析它。

默认情况下,配置文件以./nytprof.out. 我无权访问用于启动 perl 的命令行,也无权传递参数(我用来use Devel::NYTProf在我的 perl 文件中启用分析)。

但我找不到文件……你知道它在哪里吗?如何以更好的方式使用 NYTProf 来描述我的网站?

4

1 回答 1

1

我假设你的意思是 IIS。

您是否检查过运行 Web 服务器的用户是否具有对可能文件夹的写权限?它用于以 IANONUSR (IIRC) 或类似方式运行,出于显而易见的原因,它具有非常受控的权限。

IIS FastCGI 模块允许您为 FastCGI 进程设置环境变量,这应该允许您为 NYTPROF 设置 out_file。如果一切都失败了,你可以破解 NYTPROF 中的 Run.pm 并以这种方式更改位置,但至少你知道它试图写入的位置。

我向你的努力致敬,我可能只是将应用程序移植到 Linux 下运行。第一次让 NYTProf 在 Linux 下工作已经够难的了,特别是因为进程必须正常终止,所以当我获取特定 URL 时,FastCGI 进程添加了一个方法来使它们死掉,我会一直获取它直到所有进程都完成死的。

也就是说,NYTProf 在 Linux 上的努力是值得的,它能够追踪一个占用大量 CPU 的正则表达式,甚至在 99.9% 的时间里都不需要调用它。Windows 上的经验是“分叉”是性能杀手,但我认为微软从我的 IIS 时代开始就修复了这个问题。

于 2014-07-09T21:55:00.977 回答