摘要: mysql_pconnect() 函数打开一个到 MySQL 服务器的持久连接。 mysql_pconnect() 和 mysql_connect() 非常相似,但有两个主要区别: 当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。 其次,当脚本执行完毕后到 SQL 服务器的连接不会被关闭,此连接将保持打开以备以后使用(mysql_close() 不会关闭由 mysql_pconnect() 建立的连接) 阅读全文
posted @ 2013-07-18 17:58 西瓜先生 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 网上有人说要想让mysql_pconnect正常稳定的工作,必须保证mysql max_connect参数设定大于或等于apache的最大线程(进程)数。这句话是有一定道理的。这要简单了解mysql_pconnect的工作机制才能说明白。简单的说就是apache的每一个进程数都可能保留一个mysql的连接。 比如max_connect参数设置为100,apache的最大进程数位101。刚好apache有100个进程存放了mysql的连接,但是也刚好apache分配第101个进程去执行一个php脚本,也刚好这个脚本也要连接php,结果就悲剧了,肯定获取连接失败,被mysqld拒绝了,因为mysqld不允许客户端存在第101的线程。最不爽的是,apache并不是每一个进程都访问php脚本,它还可以是图片、静态页面等等。但是,这个进程是不会主动放弃连接的,毕竟随意放弃也就是去了p的意义了。 所以用apache+mysql_pconnect要把握好配置,个人感觉高访问db的,这个组合不太靠谱,mysql_connect非p模式靠谱。 上面说了apache+mysql_pconnect 阅读全文
posted @ 2013-07-18 17:52 西瓜先生 阅读(811) 评论(0) 推荐(1) 编辑