fastcgi中的持久数据库连接

时间:2008-11-11 09:45:17

标签: php mysql fastcgi

我正在将应用程序从php移植到fastcgi(c)。我的主机运行apache。

由于fastcgi应用程序将在循环中运行,我可以打开一个mysql连接,并为所有传入请求保持打开状态。这是推荐的吗?

我想我已经阅读了相同数量的意见,说连接比请求更昂贵,而且应该是持久性的,另一方面,人们声称开放连接是资源困难,应该关闭每一次。

在我的背景下哪一个是正确的?

3 个答案:

答案 0 :(得分:1)

我讨厌说出这么明显的答案,但是......你有两种尝试并比较它们吗?将connect()更改为pconnect()并使用这两种方法尝试它非常容易。进行一些分析,特别是在负载下,看看哪种方法最适合您的硬件和软件组合。

在高流量网站上,有时您无法让您的数据库接受足够的连接以允许持久性工作,但通常,持久连接往往更有效。

答案 1 :(得分:0)

我想说如果你有至少10-20个人在任何时候使用你的网站,那么持久连接效果最好。任何不足都是矫枉过正的

答案 2 :(得分:0)

这在很大程度上取决于您的设置。众所周知,MySql建立连接速度很快;你可以说它是专为此而设计的。如果数据库与Web服务器在同一台机器上,那么它真的很快。你必须权衡这一点,以增加保持连接活动的复杂性。如果每个脚本都创建一个新连接,则行为不当的脚本无法删除其他脚本。还存在诸如每连接状态之类的问题。因此,根据经验,我会说除非您已将连接确定为性能瓶颈,否则请勿尝试对其进行优化。