技术分享 网众6.0的技术窍门 [复制链接]

无盘
三国LV2
技术中心 25820 0 2010-11-10 00:59:31
声明:如无特别说明,下文中“游戏盘”、“物理盘”和“读阵列”同为一类,即服务器读阵列。  相信很快各个版本的免狗版也会和大家见面。相信这些经验会对所有的正版和盗版用户有所帮助。
  不管是视频还是一些图片,其实没有必要做假。自己多试验几次,完全可以达到比这些更好的效果。而且针对无盘本身,无需借助任何第三方辅助软件,如Supercache等,完全依赖自身的功能即可达到一个很好的效果,才可以说明这个产品有竞争力。
  1、上传系统,而不是挂盘克隆(针对纯物理盘)。
  一般做法:客户端装好系统后,将母盘拆下,将C分区克隆进服务器读阵列中已经分好的C分区。
  最优做法:直接在用于做母盘的客户机上以有盘状态挂在服务器读阵列,在启动管理器中设置为允许工作站上传。工作站将读阵列分区后,直接将C分区上传进去。
  好处:不仅无需停止服务器,不影响营业,而且还会让后面的多配置更加好做。上传C分区后,其他服务器按同样的大小份好区后,直接同步C分区即可。
  缺点:无。
  2、上传系统,一定要用独立8139网卡。
  一般做法:克隆C盘进服务器,或用集成网卡上传。上传之前安装网众客户端,选择需要用到的网卡驱动。
  最优做法:将用于上传的机器的集成网卡屏蔽,用一块不具备启动功能的(不插启动片)独立8139百兆网卡上传C分区。
  好处:绝不会出现XX网卡启动不了的状况。并且可以使任何疑难型号的网卡(如NF4/5系列)均可正常启动,并与网内其他网卡不存在冲突。
  我再从事网众维护的这段时间经常遇见有xx网卡起不来的现象。除了当初8111DL需要作一点小动作以外,其他用此办法100%成功。而在304客户端后,此办法通杀8111DL,百试百灵。
  3、宁用纯物理盘,不用镜像+游戏盘。
  一般做法:C盘镜像包保存,物理盘(读阵列)仅存放游戏。
  最优做法:纯物理盘,C区分为3G,用来存放客户机操作系统。D区分10G,用于给快车作为临时目录和安装office等常用软件。余下1.8T左右分为E盘,存放所有游戏。
  这是网众整盘缓存最能照顾得到的一个办法。采用这个办法,会使性能很明显的较镜像盘+物理盘时高出一个档次。如2X1T读+16G内存(14G用于读盘缓存),在带机110人左右时,负载仅为0.3左右,磁盘测速还可以在220M以上。这是镜像盘+游戏盘模式远远无法达到的。同时十几秒进入CF这种效果,也只有物理盘模式+大容量缓存才可以实现。
  原理:让读写阵列真正“读写分离”。我们都知道,/mnt目录一办用于挂在软阵列形态的写盘阵列,而通常这些镜像包均保存在/mnt/nxp/disk下。在客户机启动和调用C盘资源时,你的读阵列(游戏盘)仅仅是存在读的功能,而写阵列却是既读又写。这对写盘来说压力还是比较大的。因此单服务器带机110人左右并满足性能优良条件时,镜像+游戏盘模式最好需要3-4个SAS作为写盘组阵列,而纯物理模式通常只要2个SAS或者3个sata就完全足够了。同样,为镜盘单独保留1024M缓存,也是一种浪费。我们知道,正常客户机使用时,C盘只会用到500M左右的内容。
  纯物理盘+整盘缓存下的CF首次进入速度
4、两大平台并存时,尽量以intel平台第一个上传系统。
  这里主要是为了避免amd双核补丁可能带来的一些冲突。建议多看看论坛中关于多配置和驱动分离的相关文章。
  5、linux就放在独立的系统盘里,不要和写阵列共处。
  一般做法:很多代理商可能是为了节约成本,通常使用其中一块写盘安装linux,将剩余空间与其他1或2个写盘在组成软阵列,挂在mnt。
  最优做法:单独用一块普通sata硬盘,最好2-4G SSD SLC芯片的固态盘专门做linux系统。
  我们建议让服务器的每一个部分真正各司其职,写盘就是写盘,仅提供客户机数据回写,不要让他再干其它事情。linux虽然在工作后不再有大动作,但swap经常会有数据交换的行为。经仔细观察,在linux自身进行读写操作时,整个写阵列会完全停止其他工作,在单位时间内单独为linux自身服务。注意看,3个SAS写,很多时候效果还不如2SAS写+1系统盘效果来得好,就是这个道理,前者在人多时,w负载值会很大,甚至会秒卡。很多时候有人说我们一个服务器100余人,负载0.几甚至0.0几的结果和抓图都是ps的,其实我们没这个必要欺骗大家。采用上面这些方法,你也能轻松做到。例如一个服务器带机89人时,负载值可以做到0.02。很可怕吗?读写真正分离后的w负载(自动分配并发数)
  6、整盘读缓存,给linux剩余2G即可。
  一般做法:服务器8G内存,给C盘所在的镜像包或或物理盘的启动分区开设1024或3072M,游戏盘部分不开。
  最优做法:用纯物理盘+多配置+驱动分离,尽可能不用镜像包+游戏盘。读缓存范围选择整个磁盘,缓存大小为6144M(6G)。针对100余人每服务器左右的网吧,实际上被下面玩家经常调用的资源,也就4,5G左右。当你这样开设缓存时,可以发现磁盘的读出数据流量会始终低于网卡OUT流量。这说明大部分游戏数据还是从服务器内存中读取的。我们需要的也就是这个效果。1来提高速度,2来减轻磁盘负担,延长磁盘寿命。这里还有一个问题就是linux自身需要多大内存用于自身周转?答:2G即可。
  读缓存+磁盘并发数。
  7、磁盘并发数,不要让w负载值超过1-1.5(针对那些能开优化的服务器)。
  一般做法:自动分配。
  最优做法:先设置为自动分配。在网吧满机时,观察自动分配了多少个并发数,然后以X2倍的数量自己手动自定义。然后注意观察w值,要不断测试。如果发现始终不会大于1.5,那么可以每次以5个点的进度继续增大并发数,直到控制在1左右时停止。通常4核cpu可以开设到45-50,双核可以到30-35。这个数值越大,表示单位时间内允许访问内存资源的请求越多。虽然名字为磁盘并发书,但实际上仅仅和服务端读缓存发生关系,所以不用担心开大后是否对服务器读写盘造成更大负担。
8、交换盘缓存,必须开设,不能疏忽。
  一般做法:客户机1-2G内存,仅在IO管理器开设客户端写缓存。4G以上,仅在IO管理器同时开设客户端读、写缓存。
  最优做法:在上述缓存开设的同时,还要在启动管理器,编辑工作战中,为交换盘设置一定数量的缓存。通常客户在运行QQ,开网页时,会直接向写盘写入数据,这时io管理器中的写缓存就会发挥作用,而从客户机启动到调用大部分资源,比如游戏等,会向页面文件中写入数据。S盘就是存放页面文件的。这时候这个交换盘缓存就必须开启,否则很多人抱怨为什么6.0还不能实现0回写,就是这个原因。锐起等五盘没有这么麻烦,是因为他们并不具备我们这个独特的S交换盘机制。交换盘缓存,这一步不可少(2G客户机内存开法)。
  9、客户机剩余内存,不要低于60%。
  一般做法:看网众官方说明,1G开多少,2G开多少。。。。。
  最优做法:精确计算,仔细观察,不要让客户机内存剩余数量低于总内存的60%。道理很简单,剩余内存过大,缓存无法完全达到预期效果。剩余数目过小,缓存是大了,客户机剩余内存不够用。通常保留60%剩余,基本还能满足要求的,我们1G会保证剩余600,2G会保证剩余1200。至于写缓存怎么搭配,我个人的设置方法是:交换盘缓存:写缓存=4:6或5:5。之前这里也有我类似的文章和观察出的数据,需要的可以找一下。

  4-8小时0回写的机器(客户机2G,384回写+256交换盘缓存)
  10、大内存+少数量硬盘,要好于小内存+多数量硬盘(涉及到服务器方案选择)。
  一般搭配法:3读3写SAS,4-8G内存。

  最优搭配法:2X1T或3X500读,2X146SAS或3X500写(纯物理盘模式)+1 X linux系统盘。16-24G内存。
  硬盘是一部计算机中唯一存在的机械部分(散热器仅属于辅助设备)。因此随时间延续而产生的衰老和性能下降,也会很明显的存在与硬盘之上。判断一款无盘活有盘软件是否好坏的关键标准,就是在于它是否对服务器磁盘性能过于依赖。目前较为优秀的产品,都是以C/S端内存性能和容量为根基的。在这里不得不重新赏识一下DOL产品。尽管可能目前还存在一些技术上的问题,但是他是第一个向我们展示内存速度和稳定性远高于磁盘的实际效果的。
  实际上针对机械性产品,尤其硬盘,转速越高,磁头行进速度越快,则1-3年后性能衰减的越明显,其衰减比例也会越大。大家一定对以往FST 10-15K的scsi产品有着很深的印象。实际上在网吧这种恶劣的环境中,刺即便SAS盘也很难避免这样明显的衰减程度。有兴趣的朋友可以把连续工作1年的15k6拿下来与1年前的测试数据或新购买的15k6的数据作一个对比就知道了。相比之下,7200R,8.x寻道的sata产品也会存在同样的衰减。但是1年后衰减比不会有高转速产品那样明显。这也是若干年前一直运行的那些黑吧,到现在服务器配置没有什么变动而还在正常营业的主要原因。
  针对用户而言,15000R衰减30%所产生的效果,要比7200R衰减20%所产生的效果,带来的差异性感觉要明显的多。

  2X1T+独立系统盘存放linux系统
  11、快车设定时,要保证虚拟盘位置及名称与物理盘一致。这对于6.0用户来说是很致命的。6.0在与自身的快车更新平台结合后,可及时更新游戏盘缓存的数据,这样客户机再重新启动后,可以及时看到已经更新的内容。正确设置快车虚拟盘:虚拟盘名称与磁盘路径,必须与游戏盘或物理盘完全一致。如:无盘服务器中,物理盘名称为xp,保存路径为/mnt/nxp/disk/xp,磁盘位置为/dev/sdd,那么快车管理器-虚拟盘设置中虚拟盘的相关部分,也要与此完全一致。否则会出现快车中游戏已更新,但玩家玩的游戏还是旧版的现象。
  12、主交换支持Trunk的,要尽量使用,而不是分流。
  一般做法:双网卡分流,每个网卡代已部分机器。
  最优做法:服务器双卡邦定。所对应主交换端口开启静态汇聚(非LACS)网众6.0现有的Trunk方式默认为Mode6,即:交换机不具备汇聚功能时也可实现汇聚。在交换机不具备汇聚功能时,该模式可实现双线冗余功能,在任意一条线路断开后,另一条线路完全正常工作,玩家不会有任何感觉。与一般的热备份相比,该设定不消耗服务器任何资源,玩家也不会有任何感觉。在主交换与之对应的端口开启静态汇聚后,除满足上述功能外,速率也会递增到2000M单向/4000M全双工。此模式最大的好处就是在同时开启100余台客户机时,开机速度较单线双卡分流模式相比会有0.8-1倍的速度提升。另外再有人对服务器进行测速时,其余玩家不会有任何影响。以往双线分流时,一个网卡在测速时会被占满,测速值也不会很高,而另一个网卡几乎还是空着。采用服务端网卡邦定+交换机Trunk后,上述问题可根本得到解决。其他无盘除采用双intel网卡外,仅能采用NIC Express实现。该软件通常只能实现冗余式邦定,速率却还是1000兆,因此我们这个功能,暂时来说也是为数不多的。
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 29041 个
  • 话题数: 9629 篇
  • 巅峰数: 5500 人