我是否必须将数据库连接/初始化置于FCGI循环之外以利用Perl中的FastCGI?

6 mysql perl fastcgi

假设我有一些Perl代码,每当它被命中时,它会增加数据库特定行中的列,并且我希望它经常被命中,所以我想用FCGI对它进行优化.现在,我基本上把大部分代码包装成这样的东西:

while (FCGI::accept() >= 0) {
 [code which currently creates a db connection and makes calls through it]
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否最好将数据库连接(我的$ dbh = DBI-> connect(etc))放在FCGI循环之外,以便脚本保持连接活动,或者我仍然可以获得FCGI速度的优势将资源留在循环中?

zig*_*don 1

即使您确实将数据库连接保留在循环中,您仍然可以从 FCGI 中获益 - 但如果将其移出,您会获得更多。