首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >持久数据库连接 - 是或否?

持久数据库连接 - 是或否?
EN

Stack Overflow用户
提问于 2019-04-01 23:59:26
回答 2查看 0关注 0票数 0

我正在使用PHP的PDO层进行项目中的数据访问,我一直在阅读它并发现它对持久数据库连接有很好的内在支持。我想知道何时/是否应该使用它们。我会在CRUD沉重的应用程序中看到性能优势吗?是否存在需要考虑的缺点,可能与安全性有关?

如果对你很重要,我正在使用MySQL 5.x.

EN

回答 2

Stack Overflow用户

发布于 2019-04-02 08:36:17

简而言之,我的经验表明应尽可能避免持久连接。

请注意,对于使用mysql_pconnect创建的连接,mysql_close是无操作(无操作)。这意味着客户端无法随意关闭持久连接。当连接上没有活动发生持续时间超过wait_timeout时,mysqldb服务器将关闭此类连接。如果wait_timeout是大值(比如30分钟),则mysql数据库服务器可以轻松达到max_connections限制。在这种情况下,mysql db将不接受任何将来的连接请求。这是你的寻呼机开始发出哔哔声的时候。

为了避免达到max_connections限制,使用Persistent连接需要仔细平衡以下变量......

代码语言:javascript
复制
1. Number of apache processes on one host
2. Total number of hosts running apache
3. wait_timout variable in mysql db server
4. max_connections variable in mysql db server
5. Number of requests served by one apache process before it is re-spawned

因此,经过充分考虑后,pl使用持久连接。您可能不希望为持久连接获得的小增益邀请复杂的运行时问题。

票数 0
EN

Stack Overflow用户

发布于 2019-04-02 09:45:36

创建与数据库的连接是一项相当昂贵的操作。持久的联系是个好主意。在ASP.Net和Java世界中,我们有“连接池”,这大致相同,也是一个好主意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档