gpt4 book ai didi

mysql - 我是否必须将数据库连接/初始化放在 FCGI 循环之外才能利用 Perl 中的 FastCGI?

转载 作者:可可西里 更新时间:2023-11-01 06:45:30 25 4
gpt4 key购买 nike

假设我有一些 Perl 代码,每次命中时都会增加数据库特定行中的列,我希望它会被频繁命中,所以我想用 FCGI 优化它.现在,我基本上将大部分代码包装成这样:

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

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

最佳答案

bmdhacks 是正确的,如果您使用的是 MySQL 或 PostgreSQL,那么它并不重要,因为连接非常便宜。但无论您的数据库是什么,您都可以通过使用持久连接来提高速度。

但是如果您决定使用持久连接,您将需要担心连接超时。根据您的服务器设置和您获得的流量,这些将在程序生命周期的任何时间发生。 ping() 是你的 friend 。如果您需要更多帮助,请查看 Apache::DBI 是如何做到的。

关于mysql - 我是否必须将数据库连接/初始化放在 FCGI 循环之外才能利用 Perl 中的 FastCGI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/206885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com