关于php+mysql连接池的一些问题

dyy0565 2013-02-21 10:39:24
最近遇到一个问题,nginx+php+mysql。由于网站用户比较多,会经常有一些连接数据库的操作、所以用了pdo长连接。
$db = new PDO ( 'mysql:host=' . DB_HOST . ';port=' . DB_PORT . ';dbname='DB_NAME';charset=UTF8', DB_USER, DB_PASSWORD, array (PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO::ATTR_PERSISTENT=>true) )

retuen $GLOBALS['_db'] = $db;
这样一般情况是不会出现问题,但是网站会时不时的挂掉,需要重启nginx的fpm服务,才可正常运转。
老大估计是这个数据库连接不稳定。让我去找下连接池,或者$GLOBAL的局限性,找一个更稳定的连接方法,解决这个问题。
真心不会阿……求大神赐教!
...全文
375 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2013-02-21
  • 打赏
  • 举报
回复
把长连接改为短连接
连接是必须的,瓶颈不会在这里

长连接只在访问远程数据库(比如你的机房里有独立的数据库服务器)才能发挥优势
dyy0565 2013-02-21
  • 打赏
  • 举报
回复
受教了。 那关于第二点有什么好建议么?我先去查查相关知识、
xuzuning 2013-02-21
  • 打赏
  • 举报
回复
1、数据库连接池由第三方提供(ODBC、JDBC) php 的 mysql 函数只提供基本数据库操作,并无连接池概念 2、长连接资源从空闲到再次复用有一个时间间隔,当数据库连接请求的密度小于此间隔时,空闲的长连接资源不会被利用。从而造成大量资源被浪费,而数据库会因连接数过多而瘫痪 3、从你的描述上看,并不能一定认为是数据库的原因

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧