每次我构建一个 Catalyst 应用程序时,都会遇到应用程序启动(重新)启动缓慢的地步,延迟大约为 10 秒。今天我认为延迟是由以下几行引起的:
use lib '/home/zoul/opt/lib/perl/5.8';
use lib '/home/zoul/opt/share/perl/5.8';
use lib '/home/zoul/opt/lib/perl/5.8.8';
use lib '/home/zoul/opt/share/perl/5.8.8';
这些行仅在服务器上需要,因为我没有在那里获得 root 访问权限并且我的 Perl 模块安装在~/opt
. (我不能使用 Apache 的SetEnv
模块,因为主机不支持它。因此我必须将库路径输入到App.pm
.)在我的开发机器上,出现血腥延迟的路径不存在。
我的问题:(1)为什么这些线路会造成如此多的延迟,大约 7 秒?(2)解决这个问题的好方法是什么?天真的条件use
不起作用:
if ($on_the_hosting_machine)
{
use lib '…';
}
我想我可以eval
以某种方式,还是有更好的方法?