`
wangzy
  • 浏览: 6642 次
  • 性别: 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  
很好很强大

相关推荐

    java模拟实现PV操作

    Java模拟实现PV操作是多线程编程中一个重要的概念,主要应用于解决生产者-消费者问题。在并发编程中,PV操作(即信号量Semaphore)是由荷兰计算机科学家Edsger Dijkstra提出的,它通过控制对共享资源的访问来避免竞...

    Java实现的进程同步与互斥(PV)

    本主题主要关注如何使用Java语言实现这些概念,特别是通过PV操作(即P操作和V操作),这是荷兰计算机科学家Edsger W. Dijkstra提出的信号量机制的一部分。 首先,我们需要理解什么是进程同步和互斥。进程同步是指多...

    Java实现PV操作pv java二次开发

    Java实现PV操作pv java二次开发

    操作系统作业 (pv,作业管理,等5个的Java实现)

    在Java中,可以使用synchronized关键字和wait()、notify()方法来实现类似的功能,但Java并没有直接提供PV操作的原语。 接下来,作业管理是操作系统的重要职责之一,它涉及到作业的提交、调度、执行、终止等过程。在...

    JAVA 统计网站的访问量PV,UV

    这里我们主要探讨如何使用Java,Spring框架以及MySQL数据库来实现对网站的PV(页面浏览量)和UV(独立访客数)的统计。首先,我们需要了解这两个概念: 1. PV(页面浏览量):每次页面加载或刷新都会被计算为一次PV...

    惊现支撑1亿pv/天的超级数据库解决方案

    舍得网支撑1亿pv/天构架,开源了 说是支持1亿pv/天,也许有点夸张,也是为了吸引您能点进来,如果您能认真看完相信也不会让您失望,当然,肯定有很多“高手”会对此会嗤之以鼻,没关系,有很多眼高手低的人总喜欢...

    太阳能PV_T系统电热输出性能及其Matlab仿真研究.pdf

    太阳能光伏/热(PV/T)系统是一种将光伏电池产生的电能与热量结合起来的复合型能源转换设备。这种系统的创新之处在于通过一个集成设备将太阳能的光热和光电转换结合在一起,从而提升太阳能的整体利用效率。 在介绍...

    7.rar_HYBRID MPPT_PMSG wind_pv with grid _pv/wind_wind pv

    标题中的“7.rar_HYBRID MPPT_PMSG wind_pv with grid _pv/wind_wind pv”揭示了我们讨论的主题是关于一个混合能源系统,该系统整合了风能和光伏(太阳能)发电,并且与电网连接。其中,MPPT代表最大功率点跟踪...

    pv操作实现前驱图

    PV操作实现前驱图 PV操作是指通过使用信号量来实现进程之间的同步和通信。PV操作主要用于解决进程之间的同步问题,使得多个进程能够安全地共享资源。 在PV操作中,我们使用两个操作:P操作和V操作。P操作是指等待...

    res.rar_PV hybrid_PV/Wind/Battery_fuzzy battery matlab_pv wind a

    Hybrid PV-wind generation shows higher availability as compared to PV or wind alone. For rural electrifications, researches are focused on hybrid power system which provides sustainable power. The ...

    屌丝程序员如何打造日PV百万的网站架构

    屌丝程序员如何打造日PV百万的网站架构

    pv操作的实现

    在操作系统领域,PV操作,即P(Wait)和V(Signal)操作,是荷兰计算机科学家Edsger Dijkstra提出的同步原语,用于解决多进程之间的同步问题。它们是基于信号量(Semaphore)机制的一种实现,主要用于管理共享资源,...

    pc服务器巡检检查模版.pdf

    ### pc服务器巡检检查模版知识点详解 #### 一、主机设备相关信息 - **资产编号**:用于唯一标识每一台服务器的编号,便于管理和追踪。 - **设备厂商型号**:服务器的具体型号及其制造商,这对于获取官方支持和服务...

    PV操作的实现(源代码+报告)

    - 在网络服务器中,PV操作可以帮助管理连接池,确保不会同时打开过多的连接。 5. PV操作的限制与改进: - PV操作可能导致死锁,例如当多个进程互相等待对方释放资源时。因此,合理设计同步策略和使用PV操作至关...

    PV_Wind_operation-.rar_PV/Wind/Battery_wind、pv_风光matlab_风光互补_风光互

    风光互补最优运行的电力系统程序,可以确定风机、PV组件和蓄电池的最优组合

    C语言实现pv操作演示程序

    在"C语言实现pv操作演示程序"中,可能包括以下内容: 1. **信号量数据结构**:通常用整型变量表示,初始化为非负值,代表资源的数量或者同步条件的状态。 2. **P操作函数**:定义一个函数,参数为信号量,内部实现...

    c++模拟PV实现小程序

    c++模拟PV实现小程序

    K8S持久化存储(亲测可用)【volumes PV/PVC StorageClass】

    方式2:Pod + PersistentVolumeClaim(PV) + PersistentVolume(PVC) + NFS 方式3:Pod + PersistentVolumeClaim(PV) + StorageClass + NFS 博客地址(readme):...

Global site tag (gtag.js) - Google Analytics