免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3248 | 回复: 5

[PHP+MYSQL]mysql_connect 与mysql_pconnect的性能分析 [复制链接]

论坛徽章:
0
发表于 2006-08-02 23:40 |显示全部楼层
通过php的mysql函数连接有2个选择:
1)mysql_connect()
2)mysql_pconnect()

手册上说,mysql_pconnect()是持久连接.
我的理解是,通过WEB页面使用这个函数来访问mysql时.只要有了这个连接的PID.你再次通过这个页面访问mysql时,应该继续使用这个PID.但是我实际测试发现如下的问题.

1)如果你很快的F5当前页面的话,这个PID一直有效.
2)如果你过一会儿再F5这个页面的话,系统会生成新的PID,而且会越来越多.你根本无法控制PID
3)你用mysql_close()也不能kill这个PID
4)我用mysql_thread_pid()得到这个PID ,不知道能不能重复使用?



想试试mysql_pconnect() 的原因是原来使用mysql_connect(),但是由于计算时间等待太长,Apache已经停止响应了,所以相应的mysql_connect()也失效了.尽管手册上说,mysql_connect()是在页面结束后自动消除.不用mysql_close().导致我很被动

不知道有没有更好的解决方案.

谢谢.

论坛徽章:
0
发表于 2006-08-03 00:56 |显示全部楼层
我用mysql提供的C的API时发现 提供的mysql_connect() 默认8个小时实效 你可以用mysql_ping() 解决这个问题

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
发表于 2006-08-03 08:55 |显示全部楼层
php数据库持久连接:http://www.php.net/manual/zh/features.persistent-connections.php
my.cnf设置:

  1. max_user_connections=25
  2. max_connections=500
  3. interactive_timeout=10
  4. wait_timeout=10
复制代码



If anyone ever wonders why the number of idle db process (open connections) seems to grow even though you are using persistent connections, here's why:

"You are probably using a multi-process web server such as Apache. Since
database connections cannot be shared among different processes a new
one is created if the request happen to come to a different web server
child process."

这段话是说:
有人感到很惊奇,在使用持久连接的情况下,空闲的数据库链接依然会快速增长,原因如下:
你可能使用了一个多线程的web服务器,例如Apache
因为数据库链接不能在不通的线程之间共享,那马在连接的时候就回产生新的链接了。

参考以上的my.cnf配置做吧。

论坛徽章:
0
发表于 2006-08-03 17:30 |显示全部楼层
还有一个疑问就是,我用 pconnect后,创建一个临时表,
我如何保证下面的代码使用这个临时表,没有问题.
是不是一定要沿着这个连接的PID才能访问临时表?

我发现刚刚建立,下面的语句就提示找不到这个临时表了.

郁闷.

有没有什么办法???

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
发表于 2006-08-03 17:43 |显示全部楼层
原帖由 okchina 于 2006-8-3 17:30 发表
还有一个疑问就是,我用 pconnect后,创建一个临时表,
我如何保证下面的代码使用这个临时表,没有问题.
是不是一定要沿着这个连接的PID才能访问临时表?

我发现刚刚建立,下面的语句就提示找不到这个临时表了.

...


解决方法,创建内存表。

论坛徽章:
0
发表于 2006-08-03 21:44 |显示全部楼层
原帖由 HonestQiao 于 2006-8-3 17:43 发表


解决方法,创建内存表。




小乔真搞笑.....

haha
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP