mysql connect 500_MySQL连接问题【mysql_connect和mysql_pconnect区别】
apache模块方式下:
区别在于当php以apache模块方式运行时, 由于apache有使用进程池,一个httpd进程结束后会被放回进程池, 这也就使得用pconnect打开的的那个mysql连接资源不被释放, 于是有下一个连接请求时就可以被复用.
这就使得在apache并发访问量不大的时候, 由于使用了pconnect, php节省了反复连接db的时间, 使得访问速度加快. 这应该是比较好理解的.
但是在apache并发访问量大的时候, 如果使用pconnect, 会由于之前的一些httpd进程占用的mysql连接没有close, 则可能会因为mysql已经达到最大连接着, 使得之后的一些请求永远得不到满足.
例如:
若mysql最大连接数设为500, 而apache的最大同时访问数设为2000
假设所有访问都会要求访问db, 而且操作时间会比较长
当前500个请求的httpd都没有结束的时候...之后的httd进程都是无法连接到mysql的(因已经达到mysql最大连接数). 只有当前500个httpd进程结束或被复用才可以连接得到了mysql.
其实这个也很好解释了xgy_p的测试中若操作比较简单, pconnect比connect效率高很多, 而且跟使用jsp的连接池的速度比较接近. 因为这个时候httpd进程可以不断的给复用.
而当DB操作复杂, 耗时较长时, 因httpd会fork很多并发进程处理, 而先产生的httpd进程不释放db连接, 使得后产生的httpd进程无法连上db. 因为这样没有复用其它httpd进程的mysql连接. 于是会就产生很多连接超时, 像一开始的1000个并发连接测试说几乎都是连接超时就是这个原因.
---
(反进来看jsp用的如果是纯粹的db连接池, 则不会有因为达到mysql连接上限而连不上的问题, 因为jsp的连接池会使得可以等待其它连接使用完毕并复用. )
因此在并发访问量不高时,使用pconnect可以简单提高访问速度, 但在并发量增大后, 是否再使用pconnect就要看程序员的选择了...
就我个人认为, php现在对mysql的连接并没有真正用到连接池, pconnect也只是相当于借了apache的进程池来用, 所以在并发访问量大的时候pconnect并不能很好的提高访问DB效率. 在这一点上. php的确比不上jsp
mysql connect 500_MySQL连接问题【mysql_connect和mysql_pconnect区别】相关推荐
- php 查询数据表第2条,PHP 连接 MySQL 数据库的连接函数 mysql_connect 的第二个参数是( )。...
问题:PHP 连接 MySQL 数据库的连接函数 mysql_connect 的第二个参数是( ). 更多相关问题 下图中ACB为晨昏线,C地点位于格陵兰岛上.回答(1)--(3)题.(1)飞机从A点 ...
- mysql_connect函数怎么调用,PHP连接MySQL数据库的连接函数mysql_connect的第三个参数是( )。...
PHP连接MySQL数据库的连接函数mysql_connect的第三个参数是( ). 答:数据库密码 下列选项中,采用不指定表的字段名的方式向表Student中添加id为1,name为"小王 ...
- mysql_connect和mysql_pconnect区别
apache模块方式下: 区别在于当php以apache模块方式运行时, 由于apache有使用进程池, 一个httpd进程结束后会被放回进程池, 这也就使得用pconnect打开的的那个mysql连 ...
- php没有mysql_connect()_【在线等】php不能连接mysql?提示:Warning: mysql_connect() 。。。...
你的位置: 问答吧 -> PHP基础 -> 问题详情 [在线等]php不能连接mysql?提示:Warning: mysql_connect() ... 连接时提示: Warning: m ...
- 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)
解决远程连接mysql很慢的方法(mysql_connect 打开连接慢) 参考文章: (1)解决远程连接mysql很慢的方法(mysql_connect 打开连接慢) (2)https://www. ...
- 【MySQL】MySQL 8 IDEA连接本地MySQL报错 Host DESKTOP-MISSMJIJ is not allowed to connect to this serv
1.背景 在window10 下开发,MySQL 8 IDEA连接本地MySQL报错 MySQL 8 Host DESKTOP-MISSMJIJ is not allowed to connect t ...
- mysql无法远程连接 111_如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题...
执行赋权的命令: MySQL>GRANT ALL PRIVILEGES ON *.*TO 'root'@'%'IDENTIFIED BY '123456'WITH GRANT OPTION;My ...
- 解决远程连接mysql很慢的问题(mysql_connect 打开连接慢)
有次同事提出开发使用的mysql数据库连接很慢,因为我们的mysql开发数据库是单独一台机器部署的,所以认为可能是网络连接问题导致的.在进行 ping和route后发现网络通信都是正常的,而且在mys ...
- 连接不了虚拟机mysql服务器,本地连接虚拟机MySQL提示is not allowed to connect
本文将解决本地Navicat连接远程MysqL服务器提示不允许连接. 一.问题还原 本地Navicat连接centos7.3虚拟机的MysqL数据库 确认连接后会报出一个这样的错误 二.发现问题 这个 ...
最新文章
- 对线性代数的思考和理解
- php 单例模式 序列化,php设计模式(二)单例模式
- jquery对select的操作详解
- 如何设置电脑自动锁屏_工信部重要提醒:赶紧设置这个密码!手机丢时也不怕损失!...
- 关于可迭代对象、迭代器和生成器
- spring控制事务:声明式事务(XML)事务的传播行为
- 前端学习(3104):react-hello-虚拟dom和真实dom
- 和doc的区别怎么转换手机_如何把doc文件转换成PDF格式?高手告诉你应该这么做...
- CentOS x86_64系统手动释放内存
- 随想录(基于内存映射的进程通信)
- 理解Golang包导入,import、包名、目录名的关系
- 开源icon、SVG、字体图标库收集
- 冷山的博客思听有声书摘下载索引页
- 不锈钢水处理过滤器在食品领域中的运用
- 类似ftp文件服务器有哪些,FTP的替代品有哪些,你知道吗?
- 荣耀开发者关怀月邂逅1024程序员节,请开发者喝咖啡
- tas5424_TAS5424 Datasheet(数据表) 10 Page - Texas Instruments
- 最牛逼的Java编辑器,没有之一!
- neuoj1472 yuki的氪金之旅(倒置树状数组
- tensorflow微调vgg16 程序代码汇总