咨询一个小问题
[i=s] 本帖最后由 游戏人间 于 2010-3-10 10:31 PM 编辑 [/i]谁有维护过PV上千万左右的论坛。
服务器大概需要怎样的配置,多少台,以哪种方式去构架,瓶劲一般出现的哪个地方比较多?
在跟公司机密无关的情况下透漏点情况。
补充一下:PV是指天的PV. PV上万的单位是秒吗 [url]http://www.dbanotes.net/arch/douban_web_server.html[/url]
仅供参考 一秒零点几,还要多少台?
当然如果是给ZF做,那就先弄2万台吧 只是公司的论坛,当然肯定是没有千万PV的,只是我们需要这样考虑问题,因为就算到不了千万但也有个几百万什么的。
我们的论坛应用较为反复(可能比单纯的论坛稍复杂一些),公司运营方向的改变会让交互方面的WEB应用流量大增,最近需要重新规划我们的架构(包括服务器的分配和代码的重构等)。
因此我想了解一下大概的情况,谁有维护过差不多这样流量的动态产品(不一定是论坛),主要性能问题一般出现在什么地方比较多。 找个做H站的问问 [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]
村长的意思是你私下和他聊聊,他有经验。 [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]
..........我比窦娥还怨啊......... 村长很有经验的。 [i=s] 本帖最后由 水清无鱼 于 2010-3-11 10:10 AM 编辑 [/i]
;P你看看,不只是我在说诶……要相信群众的眼睛……
完蛋了……本来一个技术讨论帖又水了。
随便说几句自认为靠谱的:
瓶颈无外乎几个地方:
1、apache、Nginx、lighttpd等并发连接太多,用什么负载均衡、反向代理一般性的也就解决了。
2、和数据库交互的太过频繁,数据库的承受力太大,用什么mysql的主从,或者建立“数据库连接池”。
3、其他的就看实际情况吧
奶瓶上边说了,每天千万算到每秒也很少了,不用太过忧虑…… 我看错了,看成几万…… 我也看成几万了。。。。阿弥陀佛
你应该问问网易或者mop的人,他们肯定知道如何架构 :L被忽悠了…… 千万的,机器肯定不是一台,不能缓存的数据一般是绝对的瓶颈,如果查询都在200毫秒以内,看看能不能减少查询次数或优化一下缓存
至于前端机的分布的问题,一般有四台都是没问题的,不都说nginx的性能高吗,前端用它,有可能还能少用点 做过900多万的, 8台web 4台mysql 3台memcache ,是不是很浪费? 好好利用千万的pv 会产生很大的财富 还在乎几台机器吗 [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来达到目的。 如果你不能从根上解决,最简单方式就用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]