喜悦国际村 专业PHP开发者社区's Archiver

游戏人间 发表于 2010-3-10 05:42 PM

咨询一个小问题

[i=s] 本帖最后由 游戏人间 于 2010-3-10 10:31 PM 编辑 [/i]

谁有维护过PV上千万左右的论坛。

服务器大概需要怎样的配置,多少台,以哪种方式去构架,瓶劲一般出现的哪个地方比较多?

在跟公司机密无关的情况下透漏点情况。


补充一下:PV是指天的PV.

zw870307 发表于 2010-3-10 05:46 PM

PV上万的单位是秒吗

马甲 发表于 2010-3-10 10:43 PM

[url]http://www.dbanotes.net/arch/douban_web_server.html[/url]
仅供参考

奶瓶 发表于 2010-3-10 10:49 PM

一秒零点几,还要多少台?
当然如果是给ZF做,那就先弄2万台吧

游戏人间 发表于 2010-3-11 09:48 AM

只是公司的论坛,当然肯定是没有千万PV的,只是我们需要这样考虑问题,因为就算到不了千万但也有个几百万什么的。

我们的论坛应用较为反复(可能比单纯的论坛稍复杂一些),公司运营方向的改变会让交互方面的WEB应用流量大增,最近需要重新规划我们的架构(包括服务器的分配和代码的重构等)。

因此我想了解一下大概的情况,谁有维护过差不多这样流量的动态产品(不一定是论坛),主要性能问题一般出现在什么地方比较多。

sadly 发表于 2010-3-11 09:56 AM

找个做H站的问问

水清无鱼 发表于 2010-3-11 09:57 AM

[quote]找个做H站的问问
[size=2][color=#999999]sadly 发表于 2010-3-11 09:56 AM[/color] [url=http://www.phpx.com/redirect.php?goto=findpost&pid=1146201&ptid=259260][img]http://www.phpx.com/images/common/back.gif[/img][/url][/size][/quote]
村长的意思是你私下和他聊聊,他有经验。

sadly 发表于 2010-3-11 09:58 AM

[quote]
村长的意思是你私下和他聊聊,他有经验。
[size=2][color=#999999]水清无鱼 发表于 2010-3-11 09:57 AM[/color] [url=http://www.phpx.com/redirect.php?goto=findpost&pid=1146202&ptid=259260][img]http://www.phpx.com/images/common/back.gif[/img][/url][/size][/quote]


..........我比窦娥还怨啊.........

轻舞飞扬 发表于 2010-3-11 10:01 AM

村长很有经验的。

水清无鱼 发表于 2010-3-11 10:04 AM

[i=s] 本帖最后由 水清无鱼 于 2010-3-11 10:10 AM 编辑 [/i]

;P你看看,不只是我在说诶……要相信群众的眼睛……
完蛋了……本来一个技术讨论帖又水了。
随便说几句自认为靠谱的:
瓶颈无外乎几个地方:
1、apache、Nginx、lighttpd等并发连接太多,用什么负载均衡、反向代理一般性的也就解决了。
2、和数据库交互的太过频繁,数据库的承受力太大,用什么mysql的主从,或者建立“数据库连接池”。
3、其他的就看实际情况吧
奶瓶上边说了,每天千万算到每秒也很少了,不用太过忧虑……

奶瓶 发表于 2010-3-11 10:15 AM

我看错了,看成几万……

轻舞飞扬 发表于 2010-3-11 10:28 AM

我也看成几万了。。。。阿弥陀佛
你应该问问网易或者mop的人,他们肯定知道如何架构

水清无鱼 发表于 2010-3-11 11:22 AM

:L被忽悠了……

unspace 发表于 2010-3-11 12:37 PM

千万的,机器肯定不是一台,不能缓存的数据一般是绝对的瓶颈,如果查询都在200毫秒以内,看看能不能减少查询次数或优化一下缓存

至于前端机的分布的问题,一般有四台都是没问题的,不都说nginx的性能高吗,前端用它,有可能还能少用点

小傑 发表于 2010-3-11 03:22 PM

做过900多万的, 8台web  4台mysql  3台memcache ,是不是很浪费?

奶瓶 发表于 2010-3-11 04:17 PM

好好利用千万的pv 会产生很大的财富 还在乎几台机器吗

游戏人间 发表于 2010-3-11 07:13 PM

[quote]做过900多万的, 8台web  4台mysql  3台memcache ,是不是很浪费?
[size=2][color=#999999]小傑 发表于 2010-3-11 15:22[/color] [url=http://www.phpx.com/redirect.php?goto=findpost&pid=1146252&ptid=259260][img]http://www.phpx.com/images/common/back.gif[/img][/url][/size][/quote]

跟我的估计差不多,不过由于语言关系。用的是.NET,memcached想存储.NET的对象,必须先序列化存储,读的时候再反序列化,这对WEB服务器的CPU压力相当的大。而不用Memcached又比较难以实现缓存数据的同步,这就是现在的一个问题之一,当然我们现在的办法是加强WEB服务器的CPU来达到目的。

开花石头 发表于 2010-3-12 02:40 AM

如果你不能从根上解决,最简单方式就用squid+xcache+eAccelerator+ZendOptimizer,这几个都配起来就差不多了,web server用nginx,3台web PC,不用改代码的,DNS轮询都撑的住

如果要从根上改,就上Memcache扔session,把一些用户浏览过的栏目列表、用户个人数据,权限等都扔session,再把session扔memcache,减少DB查询次数

然后不分mysql主从,而在mysql前用sqlite,做为查询,写入时候慢一些,同时写2个DB,且几个sqlite之间做同步,或者,不同PC放不同的sqlite,每个sqlite放不同论坛版块下的帖子,也就是一个高访问版块一个服务器,低访问的放一起也行,反正动静比较大

而一些版块的公共信息,则可以存储成xml,初次访问解析一下xml,其他用户访问,从memcache调用解析好的xml就可以了

方式很多,只要能从根上改,就没解决不了的问题

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.