免费注册 查看新帖 |

Chinaunix

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

[讨论]PHP适合做大并发访问的应用吗? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-11-25 12:27 |只看该作者
这是没办法的, php配合apache只是一个模块方式在运行, 在 apache2 中它身本就是在一个线程中执行.
线程/进程结束后, 系统分配给它的资源将随着php程序的结束而烟销运散, 所以 "资源" 无法共享, 那也没办法.

除非PHP也在 server 上运行一个守护进程, 管理一些重要的数据共享, 如超大array, 如连接句柄,文件描述符, 类句柄, 否则一切还是免谈了.

[ 本帖最后由 hightman 于 2005-11-25 12:30 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2005-11-25 12:29 |只看该作者
要做大并发,超多数据库请求同时进行; 那你应该在数据库服务器上下功夫, 分布式数据库?
比如 100台同步的数据库服务器, 那你就算并发 10万个数据库连接,分摊下来一台大概 1000个连接还差不多.

连接池在这种情况下也是不顶用,有事没事都占着一堆系统资源


另外,连接池也有第三方软件吧,装一个,然后PHP都去和连接池建立连接,连接池(真讨厌这个叫法)再适当的去和真正的数据库服务器连接查询,应该都有适当的设计一些 CACHE,这样起到保护数据库服务器不会过载的作用。

__________

感觉就像一层又一层的包裹起来。。。。。。。。。。。。

[ 本帖最后由 hightman 于 2005-11-25 12:32 编辑 ]

论坛徽章:
0
13 [报告]
发表于 2005-11-25 13:15 |只看该作者
原帖由 z33 于 2005-11-25 11:44 发表
一台cron服务器,定时用php生成静态html。
N台web服务器,静态html,少量php与用户交互。
BIG-IP



领导指示所有页面都变成静态地html页面。偶做了三个新闻栏目   已经占10m了他们的信息量还不到船东航期栏目的1/100    哈哈   太狠了!

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
14 [报告]
发表于 2005-11-25 13:25 |只看该作者
原帖由 hightman 于 2005-11-25 12:29 发表
要做大并发,超多数据库请求同时进行; 那你应该在数据库服务器上下功夫, 分布式数据库?
比如 100台同步的数据库服务器, 那你就算并发 10万个数据库连接,分摊下来一台大概 1000个连接还差不多.

连接池在这种情况 ...


有事没事都占着一堆系统资源??????????

连接池是相当有用处的,只是php不要太适合。
squid和apache那个快不是重点,有squid理论上,负载都在squid机器上。数据库不应该过载。
应该问问自己有squid为什么还把数据库搞垮

论坛徽章:
0
15 [报告]
发表于 2005-11-25 14:08 |只看该作者
原帖由 瘦死的骆驼 于 2005-11-25 13:15 发表



领导指示所有页面都变成静态地html页面。偶做了三个新闻栏目   已经占10m了他们的信息量还不到船东航期栏目的1/100    哈哈   太狠了!



全变成HTML页?


应该做成 静态include+mod_rewrite.

你去建议领导再买一台做cron服务器吧。

论坛徽章:
0
16 [报告]
发表于 2005-11-25 15:38 |只看该作者
我也一样被这个问题困扰着,我了解到,现在似乎只有在数据库的配置上下功夫做些缓存的。
有些东西不能做成静态页面来处理的,真不知道是不是有根本的解决办法来优化这个连接的

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
17 [报告]
发表于 2005-11-25 16:05 |只看该作者
原帖由 chlinux 于 2005-11-25 15:38 发表
我也一样被这个问题困扰着,我了解到,现在似乎只有在数据库的配置上下功夫做些缓存的。
有些东西不能做成静态页面来处理的,真不知道是不是有根本的解决办法来优化这个连接的


数据库是死的能做的优化有限。
除了新闻网站,做静态页面意义不大。
有什么系统不是使用squid,我只想到聊天室。但聊天室并不使用什么数据库

论坛徽章:
0
18 [报告]
发表于 2005-11-25 17:06 |只看该作者
原帖由 hightman 于 2005-11-25 12:29 发表
要做大并发,超多数据库请求同时进行; 那你应该在数据库服务器上下功夫, 分布式数据库?
比如 100台同步的数据库服务器, 那你就算并发 10万个数据库连接,分摊下来一台大概 1000个连接还差不多.

连接池在这种情况 ...



使用连接池的话

1 数据库连接免去了(我看每一个连接验证消耗不算小呢)

2 “并发10万个数据库连接”,连接池技术常有数据 cache 功能,到 连接池这可能已经被拦截下来了,实

  际查询的不到1/10的也是可能的(看具体情况)

其实不应只说数据库连接池,是整个系统的缓冲池,当然内存要够大,能抵挡得住大访问量的蹂躏
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP