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区别】相关推荐

  1. php 查询数据表第2条,PHP 连接 MySQL 数据库的连接函数 mysql_connect 的第二个参数是( )。...

    问题:PHP 连接 MySQL 数据库的连接函数 mysql_connect 的第二个参数是( ). 更多相关问题 下图中ACB为晨昏线,C地点位于格陵兰岛上.回答(1)--(3)题.(1)飞机从A点 ...

  2. mysql_connect函数怎么调用,PHP连接MySQL数据库的连接函数mysql_connect的第三个参数是( )。...

    PHP连接MySQL数据库的连接函数mysql_connect的第三个参数是( ). 答:数据库密码 下列选项中,采用不指定表的字段名的方式向表Student中添加id为1,name为"小王 ...

  3. mysql_connect和mysql_pconnect区别

    apache模块方式下: 区别在于当php以apache模块方式运行时, 由于apache有使用进程池, 一个httpd进程结束后会被放回进程池, 这也就使得用pconnect打开的的那个mysql连 ...

  4. php没有mysql_connect()_【在线等】php不能连接mysql?提示:Warning: mysql_connect() 。。。...

    你的位置: 问答吧 -> PHP基础 -> 问题详情 [在线等]php不能连接mysql?提示:Warning: mysql_connect() ... 连接时提示: Warning: m ...

  5. 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)

    解决远程连接mysql很慢的方法(mysql_connect 打开连接慢) 参考文章: (1)解决远程连接mysql很慢的方法(mysql_connect 打开连接慢) (2)https://www. ...

  6. 【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 ...

  7. 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 ...

  8. 解决远程连接mysql很慢的问题(mysql_connect 打开连接慢)

    有次同事提出开发使用的mysql数据库连接很慢,因为我们的mysql开发数据库是单独一台机器部署的,所以认为可能是网络连接问题导致的.在进行 ping和route后发现网络通信都是正常的,而且在mys ...

  9. 连接不了虚拟机mysql服务器,本地连接虚拟机MySQL提示is not allowed to connect

    本文将解决本地Navicat连接远程MysqL服务器提示不允许连接. 一.问题还原 本地Navicat连接centos7.3虚拟机的MysqL数据库 确认连接后会报出一个这样的错误 二.发现问题 这个 ...

最新文章

  1. 对线性代数的思考和理解
  2. php 单例模式 序列化,php设计模式(二)单例模式
  3. jquery对select的操作详解
  4. 如何设置电脑自动锁屏_工信部重要提醒:赶紧设置这个密码!手机丢时也不怕损失!...
  5. 关于可迭代对象、迭代器和生成器
  6. spring控制事务:声明式事务(XML)事务的传播行为
  7. 前端学习(3104):react-hello-虚拟dom和真实dom
  8. 和doc的区别怎么转换手机_如何把doc文件转换成PDF格式?高手告诉你应该这么做...
  9. CentOS x86_64系统手动释放内存
  10. 随想录(基于内存映射的进程通信)
  11. 理解Golang包导入,import、包名、目录名的关系
  12. 开源icon、SVG、字体图标库收集
  13. 冷山的博客思听有声书摘下载索引页
  14. 不锈钢水处理过滤器在食品领域中的运用
  15. 类似ftp文件服务器有哪些,FTP的替代品有哪些,你知道吗?
  16. 荣耀开发者关怀月邂逅1024程序员节,请开发者喝咖啡
  17. tas5424_TAS5424 Datasheet(数据表) 10 Page - Texas Instruments
  18. 最牛逼的Java编辑器,没有之一!
  19. neuoj1472 yuki的氪金之旅(倒置树状数组
  20. tensorflow微调vgg16 程序代码汇总

热门文章

  1. # LeetCode集锦(四) - 第13题 Roman To Integer
  2. XXL-JOB v2.0.2,分布式任务调度平台
  3. HTTP协议03-http特点及请求方式
  4. memcache---mongodb---redis比较
  5. 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档(转
  6. Poj 1151-Atlantis 矩形切割
  7. Linux下安装Tomcat启动报错
  8. shell发送网页邮件
  9. lnmp之mysql原码编译
  10. Android FM模块学习之一 FM启动流程