【发布时间】:2009-12-12 23:49:34
【问题描述】:
PHP 提供 mysql_connect() 和 mysql_pconnect() 允许创建临时和持久的数据库连接。
Python 中是否有类似的功能?使用它的环境是带有 FastCGI 的 lighttpd 服务器。
谢谢!
【问题讨论】:
标签: python mysql web-services
PHP 提供 mysql_connect() 和 mysql_pconnect() 允许创建临时和持久的数据库连接。
Python 中是否有类似的功能?使用它的环境是带有 FastCGI 的 lighttpd 服务器。
谢谢!
【问题讨论】:
标签: python mysql web-services
如果您使用 FastCGI,则不需要“持久连接”,因为如果您创建连接,则默认情况下它是持久的,因为 FastCGI python 不是基于请求的,而是持续运行的。
这就是 FastCGI 在 python 中的工作方式,简而言之:
1. Run startup code
2. Run request function
3. Wait for new request, then goto step 2.
在 PHP/FastCGI 中这是不同的,因为只有 PHP 引擎一直被加载,而 PHP 脚本本身为每个请求执行。
1. Start PHP Engine
2. Run script
3. Wait for new request, then goto step 2.
所以不同的是,在 Python 中你可以定义自己的初始化。这就是你放置 MySQL 连接的地方。 :)
【讨论】:
注意:持久连接会对系统性能产生非常负面的影响。如果您有大量的 Web 服务器进程都与您的数据库服务器保持持久连接,您可能会耗尽数据库服务器的连接限制。这是您需要在重模拟负载下对其进行测试的区域之一,以确保您不会以 100 英里/小时的速度撞墙。
【讨论】: