免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: hbl.ncut
打印 上一主题 下一主题

PHP运行机制(bs进) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-26 09:58 |显示全部楼层 |倒序浏览
看到有人说 php的机制导致了他不适合做长连接,不知 可否说的更详细点儿?

论坛徽章:
0
2 [报告]
发表于 2009-05-26 14:18 |显示全部楼层
原帖由 bs 于 2009-5-26 13:43 发表
php独立进程下初始化的资源不可共享,这意味着每个进程的开销要相对(java、ruby、python等)大很多,大量的长连接其资源消耗可想而知;
更致命的是它的垃圾回收弱所可能引起的内存泄漏;
光这些特点,它就不 ...



那 webservice 算不算长连接呢( 比如 nusoap) ?

论坛徽章:
0
3 [报告]
发表于 2009-05-26 14:37 |显示全部楼层
原帖由 3227049 于 2009-5-26 14:28 发表
长连接应用大多需要语言本身实现一个webserver,然后各微进程之间可以直接进行通讯,传递信息,php需要启动多进程,然后借助第三方媒介,譬如db,memcache进行数据传递,可以说是原生的不支持

webservice和长连 ...


学习了  谢谢 也谢谢bs兄

论坛徽章:
0
4 [报告]
发表于 2009-05-26 14:38 |显示全部楼层
原帖由 3227049 于 2009-5-26 14:28 发表
长连接应用大多需要语言本身实现一个webserver,然后各微进程之间可以直接进行通讯,传递信息,php需要启动多进程,然后借助第三方媒介,譬如db,memcache进行数据传递,可以说是原生的不支持

webservice和长连 ...


那是不是说 php不可能实现 数据库连接池呢?

论坛徽章:
0
5 [报告]
发表于 2009-05-27 21:27 |显示全部楼层
原帖由 bs 于 2009-5-27 14:36 发表



极端情况下可以让PHP不间断运行,并开辟共享内存空间以达到连接池的概念,但是一般情况下是没有人这么做的。


那我不太明白的是  有很多php系统都把 链接数据库的DB类声明称 static的,(也就是单例模式),这样在调用 mysql类时,如果已经存在数据库对象那么返回的是已经存在的 数据库连接句柄,这样保证的是同

一个用户使用的同一个数据库链接 对吧?那么一般的php系统 像discuz,ecmall这些都没有做数据库连接池的概念喽?那这些系统是怎么解决数据库链接池的问题呢 或者说解决思路?还是压根就没解决呢

论坛徽章:
0
6 [报告]
发表于 2009-05-28 00:18 |显示全部楼层
哈哈 讨论也是积累经验的一种嘛    谢谢你的解释
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP