`
wangzy
  • 浏览: 6488 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java实现单pc服务器300万全动态pv/天

阅读更多

之前有人觉得douban.com单应用服务器实现500w全动态pv每天不可思议,其实目前稍好一些的服务器硬件应该是可以达到的。

笔者的一个java开发的web游戏项目正在内测,应用服务器其实也不贵,人民币16000一台的dell 1950,内存8g,2个4核最低端的志强 cpu。

软件结构是lighttpd + resin + memcached + mysql,mysql在另外一个服务器上(douban也是同样)

项目运行的第二天,动态pv达到了269万(通过google统计获得的数据,自己的日志分析也大概这个数值,稍大过一些),每ip用户访问页面133个。这数据是在访问量最高的下午2点到4点停机情况下获得的。因此如果不停机,pv肯定要超过300万了。

此种情况下,服务器的负载一直保持在1-2之间,idle是85%-92%之间,非常的空闲。估计如果用户量再上去的话,500万的时候系统应该还是有足够的能力富余。阿北说如果服务器再好些,单应用服务器能上1000w,我想应该是没什么问题的。

数据应该毋庸置疑,和douban不一样的是,我这个项目的数据频繁变化,因为是游戏,当然变化的都是数值类型。不过此种情况下,mysql的数据量一天也能够增长500M。因为频繁数据变化,mencached的缓存命中率要比一些其他项目低很多。

此外此项目,每天的流量大概为60多GB,每天hits则有2000多万。

分享到:
评论
64 楼 wangzy 2008-04-18  
jolestar 写道
玩了两天,还不错。楼主能不能给javaeye上的朋友给点优惠啥的?哈哈。


pm游戏id: wangzy,我给你发钻石
63 楼 robbin 2008-04-18  
seen 写道
wangzy 写道
robbin 写道

恕我孤陋寡闻,不清楚网游服务器都跑啥操作系统。但是要说“几分钟机器就要重起”,莫非所有的网游服务器都用Windows Server吗?以我11年的Unix使用经验,9年Linux使用经验来看,除非升级操作系统的Kernel和升级关键的硬件驱动程序,否则Unix/Linux在任何情况下都不需要重起,更不要说几分钟就要重起了。


这个我也是怀疑态度,我也有11年的unix经验,很难见到unix和linux重启的情况。



我没那么久的使用经验 但是负荷过大搞的服务器必须重启的情况 我碰到多次了
unix、linux也没必要神化嘛 真要搞死它 很容易的

露怯了吧,如果操作系统有漏洞,让他失去响应并不难办到,但是操作系统并不需要重起才能回复正常,还是回去从头学习unix吧。
62 楼 seen 2008-04-17  
wangzy 写道
robbin 写道

恕我孤陋寡闻,不清楚网游服务器都跑啥操作系统。但是要说“几分钟机器就要重起”,莫非所有的网游服务器都用Windows Server吗?以我11年的Unix使用经验,9年Linux使用经验来看,除非升级操作系统的Kernel和升级关键的硬件驱动程序,否则Unix/Linux在任何情况下都不需要重起,更不要说几分钟就要重起了。


这个我也是怀疑态度,我也有11年的unix经验,很难见到unix和linux重启的情况。



我没那么久的使用经验 但是负荷过大搞的服务器必须重启的情况 我碰到多次了
unix、linux也没必要神化嘛 真要搞死它 很容易的
61 楼 jolestar 2008-04-17  
玩了两天,还不错。楼主能不能给javaeye上的朋友给点优惠啥的?哈哈。
60 楼 comet12345678 2008-04-17  
一点升级就像死机了
59 楼 wangzy 2008-04-17  
robbin 写道

恕我孤陋寡闻,不清楚网游服务器都跑啥操作系统。但是要说“几分钟机器就要重起”,莫非所有的网游服务器都用Windows Server吗?以我11年的Unix使用经验,9年Linux使用经验来看,除非升级操作系统的Kernel和升级关键的硬件驱动程序,否则Unix/Linux在任何情况下都不需要重起,更不要说几分钟就要重起了。


这个我也是怀疑态度,我也有11年的unix经验,很难见到unix和linux重启的情况。





58 楼 wangzy 2008-04-17  
bonny 写道
现在在线人数1800+,问楼主现在pv是多少  我感觉服务器已经快崩溃了 。卡如牛啊


昨日做了些功能升级,有些地方忘记加索引了,所以卡了一下午:(


57 楼 wangzy 2008-04-17  
<div class='quote_title'>davexin 写道</div>
<div class='quote_div'><br/>这你就是 非常 外行了,游戏行业 的 峰值不比银行和电信的低,你知道征途跑了 多少台机器,你知道九成和盛大每当新游戏上线的 时候,机器就不停的 重启,我们的记录是 每秒22万的 访问量,不过几分钟后机器就要重启了,估计 你们见过 ,你还说并发不大?我们22万/秒 的 数据是通过硬件记录下来的 (F5负载均衡器,F5后面挂了多个pool,每个 pool里面 有 几十台机器).但是也达不到你说的 1000万的数量。我还没有听说现在排在市场前几位的游戏厂商上线的 时候,有不重起机器的,在这个圈子里混,同行业内的朋友也认识几个 ,同他们交流下来,还没听过你说的 这种。不信你可以打听打听 。</div>
<p> </p>
<p>我这个是web游戏,基于http协议,整体体系和大多数web网站是一样的,你说的那些都是mmorpg。从技术角度来说。http是无状态的短连接为特性,当然也有长连接不释放的,肯定基于tcp;而mmorpg都是长连接不释放的,基于自己的网络协议,既有可能基于tcp也有可能基于tcp/udp混合模式。</p>
<p>我说的并发不大,是指我这个web游戏类型的并发而言。每组服务器设计上只允许容纳3w注册用户,超过了就只能去另外一组了,这样同时在线和并发当然会有所控制。而我想不会有任何一款mmorpg游戏只设计一组服务器为3w的标的吧。还有兄弟你要看看这个1000w是指的网站pv,mmorpg没有pv一说吧?</p>
<p>当然对于游戏开发,我们也是刚开始,也肯定会切入mmorpg的开发,现在只是从web入手。希望能多提建议。</p>
<p> </p>
<p> </p>
56 楼 srdrm 2008-04-17  
看高人们讨论, 长见识了!
55 楼 codeutil 2008-04-17  
他说的重启应该是指重启自己写的程序模块吧,
linux操作系统是不需要重启的。

54 楼 robbin 2008-04-17  
davexin 写道
wangzy 写道
davexin 写道
动态1000pv,感觉你的机器跑不出来的,虽然你的idle 空闲很多,但是案作过linux as4的测试,他的并发线程是有限制的,按测试的数据达不到你说的那么强。修改过一次linux as4的内核线程数,结果机器死乐,很郁闷,不过俺还是不太相信你的数据,因为你没有考虑到,并发在增加的时候,超过你机器的极限的时候,是啥样子,你想过吗?我可是知道的,40台机器几分钟内访问不了的郁闷的,所以俺对你的假设不太相信的。


游戏行业比较特殊,流量非常均匀,没有特别高峰的情况,所以最高的时候并发其实还是不大的。

我这个redhat没调过参数的,昨天总算出了too many open files了,调整了一下继续,呵呵

开的第四天pv已经达到328万了,每天流量达到78G了,不过cpu idle还是在80%以上。

这你就是 非常 外行了,游戏行业 的 峰值不比银行和电信的低,你知道征途跑了 多少台机器,你知道九成和盛大每当新游戏上线的 时候,机器就不停的 重启,我们的记录是 每秒22万的 访问量,不过几分钟后机器就要重启了,估计 你们见过 ,你还说并发不大?我们22万/秒 的 数据是通过硬件记录下来的 (F5负载均衡器,F5后面挂了多个pool,每个 pool里面 有 几十台机器).但是也达不到你说的 1000万的数量。我还没有听说现在排在市场前几位的游戏厂商上线的 时候,有不重起机器的,在这个圈子里混,同行业内的朋友也认识几个 ,同他们交流下来,还没听过你说的 这种。不信你可以打听打听 。


恕我孤陋寡闻,不清楚网游服务器都跑啥操作系统。但是要说“几分钟机器就要重起”,莫非所有的网游服务器都用Windows Server吗?以我11年的Unix使用经验,9年Linux使用经验来看,除非升级操作系统的Kernel和升级关键的硬件驱动程序,否则Unix/Linux在任何情况下都不需要重起,更不要说几分钟就要重起了。
53 楼 davexin 2008-04-16  
按也做过 几年电信 的项目,上海电信和 浙江电信的 短信 服务器就是俺当时做的项目 ,硬件吗也就是2台 IBM 590的 机器,也不过4cpu,8G内存 4U的机器(一个刀片一般占1U)。但是他们的并发也不大,操作系统是Aix。所以说电信的 有些项目的并发也没有我们的大。
52 楼 davexin 2008-04-16  
wangzy 写道
davexin 写道
动态1000pv,感觉你的机器跑不出来的,虽然你的idle 空闲很多,但是案作过linux as4的测试,他的并发线程是有限制的,按测试的数据达不到你说的那么强。修改过一次linux as4的内核线程数,结果机器死乐,很郁闷,不过俺还是不太相信你的数据,因为你没有考虑到,并发在增加的时候,超过你机器的极限的时候,是啥样子,你想过吗?我可是知道的,40台机器几分钟内访问不了的郁闷的,所以俺对你的假设不太相信的。


游戏行业比较特殊,流量非常均匀,没有特别高峰的情况,所以最高的时候并发其实还是不大的。

我这个redhat没调过参数的,昨天总算出了too many open files了,调整了一下继续,呵呵

开的第四天pv已经达到328万了,每天流量达到78G了,不过cpu idle还是在80%以上。

这你就是 非常 外行了,游戏行业 的 峰值不比银行和电信的低,你知道征途跑了 多少台机器,你知道九成和盛大每当新游戏上线的 时候,机器就不停的 重启,我们的记录是 每秒22万的 访问量,不过几分钟后机器就要重启了,估计 你们见过 ,你还说并发不大?我们22万/秒 的 数据是通过硬件记录下来的 (F5负载均衡器,F5后面挂了多个pool,每个 pool里面 有 几十台机器).但是也达不到你说的 1000万的数量。我还没有听说现在排在市场前几位的游戏厂商上线的 时候,有不重起机器的,在这个圈子里混,同行业内的朋友也认识几个 ,同他们交流下来,还没听过你说的 这种。不信你可以打听打听 。
51 楼 godson_2003 2008-04-16  
希望楼主能共享最终方案

关注中
50 楼 bonny 2008-04-16  
现在在线人数1800+,问楼主现在pv是多少  我感觉服务器已经快崩溃了 。卡如牛啊
49 楼 dd-up 2008-04-15  
robbin 写道

你的说法是错误的。lighttpd可以使用Linux的system epoll来实现网络IO调度,因此很多网络连接处理的工作已经由操作系统的Kernel代劳了,这也是为什么Lighttpd可以以这么少的资源消耗来支撑这么高并发访问的原因。而apache完全无视Kernel的存在,事事亲历亲为,所以需要消耗更多的进程和更多的连接。




原来是这样。终于懂点了。
48 楼 jolestar 2008-04-15  
游戏界面不错。支持一下
47 楼 manbearpig1 2008-04-15  
发现了两个严重的bug
嘿嘿,楼主,报告bug有没有奖赏啊
46 楼 robbin 2008-04-14  
chenqj 写道
robbin 写道
ztka 写道
楼主,请问,你在redhat底下用netstat -an | grep HTTP | wc -l

这个命令,得到多少进程???这才是关键,其他pv什么都是假的

http连接数其实也不太准确,像JavaEye在峰值的时候,lighttpd的并发连接数量可以达到将近300个,此时的httpd连接数有时候高达2000个以上,但一天下来PV也不过70万而已,你怎么算?

说明应用处理速度有待提高


你的说法是错误的。lighttpd可以使用Linux的system epoll来实现网络IO调度,因此很多网络连接处理的工作已经由操作系统的Kernel代劳了,这也是为什么Lighttpd可以以这么少的资源消耗来支撑这么高并发访问的原因。而apache完全无视Kernel的存在,事事亲历亲为,所以需要消耗更多的进程和更多的连接。


45 楼 xkun0219 2008-04-14  
很好很强大

相关推荐

Global site tag (gtag.js) - Google Analytics