查看: 6915|回复: 53
|
[原创]使用RAM Disk把ERP系统提升到极限。
[复制链接]
|
|
这是原创文章,请尊重我的努力搜寻和写作,不要随意更改,欢迎阅读。
[原创]RAM Disk-虚拟硬碟:解决硬碟瓶颈问题。
相信很多朋友,尤其是在面对伺服器(Server)工作上的朋友们,时常面对一些使用者的投诉说,ERP系统极度缓慢,回应需要很多时间,工作站(Workstation)需要很多时间分析来作报告等等问题。以上的现象相信大家都有概念,往往就算是更新了新的作业系统(OS),或最新硬件(如新处理器和更多记忆体) ,基本上系统的表现只是增加一点点,不会是很特出,回应时间是快了一点,可是还不是想象中那么理想。
问题出在那里呢?是在处理器不够快?还是记忆体不够多和快?还是软体没有好的设定?很多因素,可是硬碟的瓶颈往往是ERP最致命的地方。
这里介绍大家一个很好的技术,你不需要花很多钱,可是你可以将现在的ERP系统回应时间提升至少300%。你可以自己尝试设定,我本身就实行了1年多,速度很快,几乎是没有用前2倍,我没有加新的硬件,只是软体。 要这样作,你所需要只是更高的记忆体和稳定的电源供应。
这就是我要分享的RAM Disk-虚拟硬碟,以下将以RAM Disk为简称。
原理:
一般上硬碟的表现在於其读写速度,除此之外还有一个因素,那就是Seek Time,Seek Time是从一个磁区到另一个磁区需要一定的时间,意思即搜寻时间。通常都是以mili second计算,或是ms. 1 ms 是1/1000秒,就以Seagate的Cheetah Series SCSI硬碟,其seek time是3。6ms. 就是说无论我们用最快的处理器或最好的软体和作业系统,系统还是需要面对硬碟瓶颈,因为很多资料都是储存在硬碟,系统需要搜寻资料,最终也要在硬碟去找。
既然硬碟搜寻速度比较缓慢又有很多延迟(Delay), 我们有什么办法可以将之提升速度呢?很多人都认为实行RAID是明智的选择,因为RAID 0+1模式可以把速度提升,也可以保障资料的安全性。虽然这样的提升是不错,可是如果你还是面对系统回应缓慢,尤其是使用ERP的朋友都会意识到系统回应时间(System Response Time)的重要性。於是很多IT专业者都想到了记忆体,因为记忆体的搜寻时间是非常快,而且是在nano second, 或是ns. 1ns是1/1 000 000 00, 其原理可以参考这个网站:http://www.sysopt.com/articles/latency/。
因为记忆体和硬碟速度和搜寻时间的巨大差距,我们可以利用记忆体的容量来模拟硬碟,这样系统表现可以更好。更多原理请看这个网站:http://www.superspeed.com/ramdisk.html.
[ Last edited by goolb78 on 8-1-2005 at 11:16 AM ] |
|
|
|
|
|
|
|
楼主 |
发表于 30-9-2004 11:10 AM
|
显示全部楼层
当初,我加入这间公司时,这里的ERP面对回应缓慢的问题,很多使用者都向我投诉系统很慢,寻找资料,查询资料往往等了很久或系统时常没有回应,我把系统更新了,发现我遇到的问题基本上还是存在,这些问题虽然减轻了,可是还是存在,对我在工作上干扰不少,於是我下了研究,想到了RAM Disk的这个概念,其实早已经存在,问题是有没有人去实践。於是我抱着测试的方式去实行,结果效果很好,这里我和大家分享我安装和测试过程。
需要软体:SuperSpeed RAM Disk 2000 Server (如果你是用Windows 2000 Server)
需要硬体:记忆体,最少要保留256MB给系统使用,我设定1GB用RAM Disk,1GB是系统使用。
以下是我的系统配备:
CPU: Intel Pentium 4 2.4Ghz with HyperThreading
System Bus : 800Mhz
RAM: 4x512MB Dual Channel DDR400
Harddisk: Maxtor 6Y080M0 with 8MB Cache
External UBS Harddisk: IBM-IC25 N015ATDA04-0 USB Disk
OS : Windows 2000 Server Service Pack 4
ERP: EnterpriseBuilder version 2004.05.26
SQL Server: Sybase SQL Anywhere Network Server Version 5.5.04 Build#1867
[ Last edited by goolb78 on 8-1-2005 at 11:17 AM ] |
|
|
|
|
|
|
|
楼主 |
发表于 30-9-2004 11:20 AM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 30-9-2004 11:41 AM
|
显示全部楼层
使用RAM Disk好处:-
1.系统回应时间(System Response Time)提升很大,甚至200%,如果在多使用者的环境,这个效果非常明显。
2.如果系统有重启,RAM Disk的速度从开始到关机速度还是一样快,不象硬碟因为需要系统重新启动,读取速度时快时慢。
3.系统备分很快,几乎是在几分钟内可以解决。
4.系统硬碟可以用Disk Defragmentation来持续整理,所有系统基本上的速度没有减低,反而更快。因为我们在Disk Defragmentation时往往会让系统变慢,这个问题不会这么明显。
使用RAM Disk缺点:-
1。电源切断极可能数据流失,所有系统的备分必须要好和电源稳定。
2。需要多于的记忆体。
[ Last edited by goolb78 on 8-1-2005 at 11:19 AM ] |
|
|
|
|
|
|
|
发表于 30-9-2004 05:37 PM
|
显示全部楼层
支持原创...RAMDISK玩过一段时间.
若没有1G or 2G memory,还真的难以玩转这东东. |
|
|
|
|
|
|
|
楼主 |
发表于 1-10-2004 08:16 AM
|
显示全部楼层
HotmailUser 于 30-9-2004 17:37 说 :
支持原创...RAMDISK玩过一段时间.
若没有1G or 2G memory,还真的难以玩转这东东.
这比较适合在伺服器上使用,因为通常RAM都是在1GB以上,还有伺服器最重要的任务是在最快时间回应。 |
|
|
|
|
|
|
|
楼主 |
发表于 1-10-2004 08:23 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 1-10-2004 10:24 AM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 1-10-2004 10:48 AM
|
显示全部楼层
红发 于 1-10-2004 10:24 说 :
真的很快,但是我没有这么大的RAM?
比较适合在伺服器使用,因为伺服器的RAM一般都是1GB或更多,当然个人用户也可以这样使用,如果你的记忆体够大,可以将整个游戏抄入RAM Disk,那你的游戏存取是极快的。可是没有几个用户有条件这么作。
所以在伺服器是最好应用的地方。 |
|
|
|
|
|
|
|
发表于 1-10-2004 10:52 AM
|
显示全部楼层
我的RAM有1G的话就可以了是吗?
我对硬件方面不是很有心得,如果我想把RAM提升到2G不知道可以吗?
听说反而会得不偿失,还是需要怎样的条件呢
[ Last edited by emilccp on 1-10-2004 at 10:57 AM ] |
|
|
|
|
|
|
|
楼主 |
发表于 1-10-2004 11:17 AM
|
显示全部楼层
emilccp 于 1-10-2004 10:52 说 :
我的RAM有1G的话就可以了是吗?
我对硬件方面不是很有心得,如果我想把RAM提升到2G不知道可以吗?
听说反而会得不偿失,还是需要怎样的条件呢
[ Last edited by emilccp on 1-10-2004 at 10:57 AM ]
当然可以,可是你的RAM Disk的容量不能很高,大约可以512MB,要留512MB给Windows使用。
至於RAM的扩充问题,你可以参考你的主机板手册,如果你的主机板有4个插槽,那么应该可以支援至少2GB。
当你有这么多容量时,你就可以将RAM Disk提高到1。5GB。
RAM Disk最适合用在数据库,至於其他的方面,也可以,可是很少人这么作。 |
|
|
|
|
|
|
|
发表于 1-10-2004 11:17 AM
|
显示全部楼层
好啊!终于有看到原创了,写得好好,加油楼主!
请问楼主,这个在Active Directory上面用有什么问题吗?
还有,Batch File要怎样写?有没有一些资料可以参考? |
|
|
|
|
|
|
|
楼主 |
发表于 1-10-2004 11:27 AM
|
显示全部楼层
kfchai1982 于 1-10-2004 11:17 说 :
好啊!终于有看到原创了,写得好好,加油楼主!
请问楼主,这个在Active Directory上面用有什么问题吗?
还有,Batch File要怎样写?有没有一些资料可以参考?
谢谢支持。
基本上用在任何方面都没有问题,只是最重要是要时常备分和稳定电源,这也许不是问题,因为备分很快。
我的Batch File是参考我的SQL Server手册写,你可以参考自己的SQL Server手册。
如果你有使用过MS-DOS,相信你也懂得写Batch File的技巧。 |
|
|
|
|
|
|
|
发表于 2-10-2004 04:54 PM
|
显示全部楼层
RAM Disk概念真的很好,但只限于database size不是很大的...我有个customer, database size 去到25GB,你说变态吗...??
谢谢楼主的分享... |
|
|
|
|
|
|
|
发表于 2-10-2004 05:10 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 2-10-2004 06:29 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 2-10-2004 06:48 PM
|
显示全部楼层
Trisonz 于 2-10-2004 16:54 说 :
RAM Disk概念真的很好,但只限于database size不是很大的...我有个customer, database size 去到25GB,你说变态吗...??
谢谢楼主的分享...
数据库如果太大,还有其他方法可以调整:
1。把数据库分成几个小数据库,放在几个伺服器,然后让每个伺服器都使用RAM Disk,这样也称为Network Load Balancing.速度可大幅度提高,相信Windows 2000 Server Data Center Edition是最适合的作用系统,因为其系统支持Network Load Balancing得很好。
2。还有一个比较底成本方法,就是使用Super Cache 2000 Server,原理是使用记忆体设立一个新的Cache,不同于Windows本身的Cache,是独特的,资料还是存在硬碟,系统启动时可以即刻将所有资料放入Cache里,这样一来减低了硬碟搜寻机率,提高系统表现,可是性能不如RAM Disk,也不必担心电源问题。通常这样适合在系统记忆体小于数据库。
假设你的伺服器的内存是4GB,你可以用Super Cache 2000 Server将使用3GB的记忆体来当是只有数据库的Cache,这样你的资料可以在系统启动时自动将3GB的数据库上载入记忆体,减少了很多硬碟旋转时间。
详细可以参考:http://www.superspeed.com/supercache.html
P/S:请问我的帖子右上角有五个小手指,是什么意思?
[ Last edited by goolb78 on 2-10-2004 at 09:25 PM ] |
|
|
|
|
|
|
|
楼主 |
发表于 4-10-2004 08:48 AM
|
显示全部楼层
以下是我的ERP图片。
|
|
|
|
|
|
|
|
发表于 5-10-2004 01:49 PM
|
显示全部楼层
emilccp 于 1-10-2004 10:52 AM 说 :
我的RAM有1G的话就可以了是吗?
我对硬件方面不是很有心得,如果我想把RAM提升到2G不知道可以吗?
听说反而会得不偿失,还是需要怎样的条件呢
可以,你最好先了解自己的用户习惯。
例如你平时用多数用什么软件与大概用多少记忆体。
设定是必须根据电脑的性能与用户的习惯来调整。
|
|
|
|
|
|
|
|
发表于 5-10-2004 02:15 PM
|
显示全部楼层
goolb78 于 1-10-2004 11:17 AM 说 :
RAM Disk最适合用在数据库,至於其他的方面,也可以,可是很少人这么作。
有1GB记忆体的个人用户并不多,加上对这原理明白的人不多。
数据库属于读写率很高的应用软件,所以效能增加比较明显。
一般的个人用户所使用的软件,即使是用了效能也不会有很大的提升。
而且最难的是这个Ramdisk的空间是没有规定,必须由用户自己摸索出来的。
Ramdisk的大小必须根据用户的习惯来调整才能发挥到最优化的效能。
如果不是电脑玩家,相信很难可以说服他们用。
因为大部分的用户都中了英特尔的“Ghz病毒”!
而且一般的用户很怕会弄坏他们的电脑。
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|