提高无盘系统性能、减轻网络瓶颈的一种思路

你所说的,就是Cache的原理,计算机原理和操作系统原理中都有讲述,无盘的操作系统中也有,要实现就等于重新开发操作系统,不用瞎忙乎了!

小弟我搞无盘刚好一年,当初无盘的确是减轻了我的资金投入,也减少了很多维护工作。但随着工作站数量的增加,使用率的提高,各种尖锐的问题也出现了。软件共享冲突;服务器不胜负荷死机;大量工作站同时重起造成的阻塞;多人进入CS;QQ的无盘问题;还有就是有些人有意搞破坏。
特别是CS,小弟让它搞得晕头转向,但又无可奈何。一两个人同时玩的时候也会出现键盘及鼠标的控制配置文件被一台机锁定,先进入的可以正常游戏,而后进入的死活也恢复不了正常的游戏操纵;就算正常了,多人同时进入总会有几台机器超时退出;如果是要自建游戏,那简直就是往地狱里走;同时换地图时,就是怨声载道的时候。
就是为了CS,小弟不得不加硬盘。小弟不能再眼白白看着CS的老客户一个一个地从我这网吧里消失,不能再忍受每次服务器意外死机就会跑掉大半的客人。终于一恨心加了二十多个硬盘(还不是全部都加)。差不多两万元呀,心都在滴血!对喜欢无盘的我简直就是自我挖苦。可谁叫CS这么流行呢?谁叫CS要这么庞大呢?谁叫CS这么吃内存呢?要是永远都只流行帝国和星际该多好!(真是发白日梦)
虽然加了硬盘,但小弟还是沿用无盘启动的方案,就是使用无盘启动的win98来带动有盘的游戏,大型的游戏都在本地硬盘里运行,虚拟内存也设在本地硬盘里。这样一来,很多问题就迎刃而解,也具有无盘的易维护性。
小弟的工作站配置:CII700+128M+TNT2

终极无盘,我看不如这样设计吧

开发一个软件(能让所有的无盘机上的98操作系统)能自动把所有
联局域网的机器的内存集中起来,看作一个整体,如20台128M
的无盘站+1台512M的服务器,则这个整体的内存有(2560+512)M.
所有机器仿问过的文件都在这里面给CACHE.
当然,一个能在WIN98下用的APPEND命令是必然要先开发出来的。

每台机器都有超大内存可用多好啊,每台机器要读写的文件都在
内存里多好啊 (如果1000M网就更好了。)

请问如果能把所有的CPU的运算都集成一个整体是不是更好一点呢?
这样CS总没问题了吧?

不过可能要把小比叫过来才行(也有人叫小比为盖茨)

大家都在讨论无盘98,不是2000终端。

一块RAID 5卡多少钱?那还是由一块主板控制的,而这么多机器想做RAID N?无盘的机器配置本身就够差的了,稳定性不说,那些子人动不动就喜欢重启,你这RAID N够你容错的了!
倒不如买个小型机,多CPU,大RAM,做几百个终端,保比你的2K终端要稳定、快速的多:D :smiley: :smiley:

不知你说的这个是你编的程序来实现呢,还是有工具可以做呢,请指教!

不知道现在有没有支持WIN2K的服本,如果有,我们把RAM拟成的盘和一个实在的物理盘结合在一起,大概就可以达到实现一定无盘站的内存动态分配了。

几个月前,当我为64M RAM的工作站慢吞吞地联CS时,想过在服务器端用RAMDRV之类的东西将CS扔进内存,可惜没找到NT下适用的,后来专注于多服务器,加之营业场所没有时间试验,只好给工作站加到128M及应用双服务器了事。
楼上老兄使用RAMDISK是为解决硬盘瓶颈,使用“工作站内存动态划分”是为解决网络瓶颈,故有10S进98一说。在这个论坛里,挑兄的确做了能人而不能之事。
没错,PXE98光启动的确不需太多流量,单机和多机启动时间几乎相仿,10S理论上是可行的。
只不过现在的大多主板最多支持1.5G RAM,很明显RAMDISK只能将WINDOWS目录及必要的CACHE扔进内存,速度快了很多,且可以放开权限方便了一些应用,但用户个人目录还得留在硬盘上,还有GAME,电影,MP3,这些更是工作站需要常读写的目录,试想有30个人玩CS或RA,30个人边泡聊天室边看电影,当CS换图时,到底是硬盘有瓶颈还是网卡有瓶颈?我看两者都有。
工作站内存动态划分,挑兄可能将用户需要读写的部分目录指向了自身的内存,姑且不论用户可否保存自定文档(如QQ),试试现在的聊天室,如江湖社区,无盘98在没其他优化时,用不了多久内存便耗尽,还如何写入原本应写向服务器的内容?128M的工作站能经起几小时的折腾?重启?客人可不愿,哪怕再快。
关于免维护,很多贴子都介绍过经验,正常制作的PXE完全可做到。
服务器每天重启也不是营业场所所愿的。
我说这些并非反对挑兄的技术,他的确使用了很巧妙,也很实际的办法来做PXE,只不过我想从自已的经验来说明一下,鱼与熊掌不可兼得,没有一劳永逸的办法,单纯启动速度,无法全面说明无盘的性能及稳定性,因为客户的需求是不断变化的。

美国佬搞PXE只是看中其远程管理,我们国内搞网吧的用PXE,也是看中其方便的维护性,就性能来讲,强和有盘比是没意义的,可我们都得面临与有盘网吧竞争的现实,如何构建稳定,快速,免维护的网络是我们的目标。

有人惊呼无盘死期到了,的确,在1000M网普及前,人家1GCPU,ATA100竖你面前,你真能拍着胸脯说你比人快?
免维护不是我们的专利,有盘也有各种软的硬的解快方案,我们维一可骄傲的,就是有相对强大的服务器,可以提供有盘不易提供的服务,
人家有盘站有个40G硬盘,能有30G装GAME,那我们就划上60G装GAME,人家QQ能用新版,那我们就共用一份QQ,让各机都有相同记录,人家服务器性能一般,拷的电影MP3不多,那我们就拷上100G的电影MP3,嘿嘿,随着人家的前进,你更得超前一步。
为实现上述目标,诸路神仙各施法术,挑兄此术,从软的角度去缓解磁盘,网络压力,以前李哲兄等高人,则用多网卡绑一IP的硬方法,又有LIKEMO的服务器阵列技术,大家可谓用心良苦。

30台的工作站,若只是上网,打打帝国,星际,听听MP3,单服务器双网卡足矣,
40台以上,加上CS+RA+暗黑+电影+…>100G,而且恰恰旁边新开几家有盘的,那么还是用双服务器吧,服务器可用多网卡,绑定或分段随你,

有朝一日2GCPU成为主流,普通有盘站比你现在用的服务器还强大时,无盘怎么办,我看只有千M网加服务器集群了,呵呵。

ramdisk是个很好的解决方案,
在服务器上插上最大的内存,把WINDOWS目录扔进去,把最常用的大GAME也扔进去,想用新版QQ,没问题,扔进去吧,但保存记录有问题喔,如只想用新QQ的聊天室还是可以的,
工作站端要保持足够的内存,装上优化软件吧,有些聊天社区是基于ASP的,写入内存的东西非常多,98不象2000,能实时清除他们,“聊天就会耗尽内存”不是天方夜谭。

挑兄是非常难能可贵的:
1。探索精神――不用多说了吧?
2。共享精神――已经把思路讲清楚了啊

实践是检验真理的唯一标准!既然挑兄已经成功地运用到了大型网络上,这应该比什么所谓的论证都有说服力吧。

我欣赏、敬佩这两种精神!

解决CS的话可以在服务器上开1-2个CS的DOS程序专用服务器(改变端口分别设20人和32人),并且把整个CS扔到内存里,那样就比有盘快好几倍了

这种正是一种负载均衡,合理利用资源的一种思路,不过实现起来,恐怕很难, 这里带有很多智能的东西,

你们说的这个软件搞得我一头雾水,到底在哪儿有找呢

在win2000中 怎样建立和使用ramdriver,请赐教

应网友要求,我把我大半年做出的无盘站思路给予公布,但不希望有人利用它放在商业用途上。

无盘系统推出这么多年,大家致力研究最多的恐怕还是提高系统启动速度与安装的易用性。但对于如何减轻网络负担,却一直无人涉及。按照传统的方法,对一个稍微庞大的无盘站,往往采用的是加大服务器的投资安装更多网卡来提高性能。

我们忽略了一点,那就是所有工作站读取最多的就是安装在服务器上的windows系统,那仅仅是几百兆的内容,为什么不把它安装在内存中运行呢。现在的内存这么便宜,只要稍加投资就可实现。要知道,再快的磁盘再多的磁盘阵列也是无法与内存的速度相提并论。

现在有一种软件,叫“ramdisk”,是专门用来把内存虚拟成磁盘的东西。具体安装方法这里就不必多说。它的优点是,速度快,零维护。如果系统有出现问题,只需要重新启服务器即完全恢复正常。以往的无盘系统采用的是限制系统的安全性来减轻维护量,尽管很方便,却把系统的扩充功能给限制死,比如,你要上某个语音聊天网站,就必须下载它本身的语音插件,如果你限制系统的安全性,就根本无法实现;如果开放系统,一旦遭到某些恶意破坏,就会加大维护量,这是很矛盾的地方。

我用ramdisk做的虚拟磁盘,系统完全开放,坚持每天重起一次服务器。只要不在服务器上运行程序,就是病毒也无法破坏我的系统。只要重起服务器,再多的垃圾和病毒也会消失轶尽。至于它的速度,我想就不必再多说了。

但存在一个问题,那就是虚拟内存毕竟很有限,如果有人非法复制,甚至是正常的写操作(比如上网浏览的cache数据)容量很快就会用完,这就需要另外的方法,那就是下面的无盘站的虚拟内存动态分配技术(我自己起的名字)。

无盘站的内存动态分配技术,我找不出一个更合适的字眼来表达清楚。我的思路是,工作站运行时,如果需要写操作,就写到内存里,如果读操作,内存里有数据就直接从内存中读取,如果内存用尽,就写到服务器硬盘里的交换文件里。这样一来,就可大大减轻服务器与网络传输压力。如果有人恶意复制,只能把东西复制到自己的内存中,当内存用尽,他的本机速度就会变得越来越慢,当他不得已重新启动无盘站时,他复制的东西就会随着无盘站的启动而消失。但这方法也有它的弊端,那就是,如果是正常的磁盘操作,比如编辑文本文件,在重新启动机器以后也是无法保留的,在服务器端也看不到任何无盘站目录里的内容。如果想保留,就需要管理人员特别的操作。

这样一来,真正实现了零维护,除非你的硬件出了问题。当整个系统出现问题,只需要重起服务器(其实,每天早晨开机一次就可以完全实现初始的全新系统。我还没发现只运行一天系统就遭到崩溃的时候)。当个人无盘站出现问题,也是重新启动自己的机器就可完成初始化。还有个特点,如果是做网吧,就不怕有关方面的检查人员因为内容问题而找毛病扣押你的机器了,嘿嘿~~~

这样做出来的系统,还会有人不相信比有硬盘的系统还快吗?如果是单纯的上网或者教学网,一个普通的兼容机做的单网卡服务器就是带动200台无盘站,我想也不会有什么问题的。

楼上的老兄说的中肯。

我这里说的,只是个大体思路,具体做起来还有很多细节,我把系统做完以后,往往是还得盯上几天,看看有没有需要更改的地方。在内存动态划分上,以我网吧实际运行情况看,担心内存用完是多余的。刚才我回网吧做了个实验,同时打开15个浏览窗口,这时候这时候系统资源只有50%可用,另外只有3M的cache内容写进内存当中。占用的资源绝大部分是被浏览窗口使用,这跟有盘的与传统无盘无甚大的差别,我的仅仅是多浪费3M而已。需要注意的是,浏览器要把“关闭窗口时清除cache”。这样,关闭浏览器时所有的cache便被清除,内存还会被释放出来。至于QQ和聊天室,因为是文本文件,就是靠上运行7天7夜也是无法塞满内存的。所以,你说的内存耗竭的问题在我这里从来没出现过。

另外你说的电影与游戏的问题,是另外一个范畴。要知道,所有运行的程序,包括电影游戏,都要在windows这个平台上进行,只有系统本身速度快,性能才能得以提高。至于做电影服务器,那是个极浪费网络资源的东西,无论无盘的还是有盘的,都是无法避免。如果带动的机器比较多,可以单独设一服务器。

在游戏中,最令人头疼的就是CS,这变态玩意在有盘的也快不哪去,每次加入,硬盘便是一通狂读。最可怕的,就是如你所说,更换场地时十几人同时登陆,那真是一场灾难!我想,无盘系统是不会有什么可以妥善方法解决的,我给别人做的方法是,把CS精简到400M,单独拷到虚拟内存中运行,效果能好一些。

服务器重启的确不是营业所愿意的,我做法是,在6点到9点这时间段免费上网,7点半清场收拾卫生,期间几分钟时间启动服务器,免费的东西你还能有什么可抱怨的呢

这个所谓的内存动态分配,并不是简单的cache,它具有ramdisk的特点,同时也有smartdrv的伸缩性。

如果只是简单地在工作站设置虚拟ram磁盘,若不利用,将是对宝贵内存的极大浪费,若空间不够,又会发生溢出而造成系统崩溃。

smartdrv仅仅是数据的缓冲,就是说,保存在缓存里的,不是以明确的文件方式存在。

如果二者结合用在无盘站上,把读写数据过程充分发挥在内存当中,只有空闲内存耗竭时再写入硬盘,是不是效果会更好?

工作站具有32M的时候,已经可以很好地运行,64M的时候已经是相当流畅。现在工作站装128M内存应该是很平常的,合理利用对系统所起的作用是显而易见的。

如果仅仅用在教学和上网浏览,可以肯定地说,它的确比有硬盘的快。

如果是游戏网吧与视频点播,应该说还是摆脱不了磁盘与网络的瓶颈,这是无盘的通病,但这决不是系统本身的原因。