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

通过ramdisk设置将内存作为磁盘,加速网络资源访问

阅读更多
    由于我们的互联网产品中有需要给用户呈现大量的碎小图片,而且访问量非常大,这就非常让我们感到头疼。我因此想过很多办法,用apache的alias来做图片资源的映射?用lighttpd缓存图片?还有传说中nginx,我们也试过。也许是我们配置得不是很好,反正效果看上去区别不大。甚至我们都把图片放到tomcat里面,感觉也没什么差距。但是当产品上线的时候,用户量一上来我们就傻眼了,程序响应到是响应了,就是图出来得很慢。后来无意中发现windows中有个Ramdisk的工具,能把内存作为磁盘的一个分区使用,这下子让我们high了不少,马上把图片放到这个虚拟分区中,试了一把,不错,好使!于是我在想,看看linux有没有这个玩意儿。(不好意思,linux我很不熟)
    Ramdisk,即将内存作为磁盘用。内存的速度之快,是电脑存储设备中仅次于CPU缓存和显示卡显存的,当然比磁盘的IO读写要快很多了;
1、大家可以先通过ls /dev/ram*来查看有多少可供使用的Ramdisk。
2、使用其中一个来创建 mke2fs /dev/ram4,我这选用的是ram4,一般来说总共有16个
执行下来可以看到有一行1024 inodes, 4096 blocks,默认就是4M,这肯定不够的
3、 设置虚拟磁盘的大小,我装的是Red Hat Enterprise Linux Server,所以我在/etc/grub.conf中直接修改
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet ramdisk_size=102400;这样,1G应该差不多了
4、加载ramdisk, mount /dev/ram4 /tmp/your real directory;如果想取消,直接umount /dev/ram4 /tmp/your real directory
5、用df -k /dev/ram4查看你用了多少虚拟磁盘了,如果不是0%或者1%,那就说明生效了
6、我的图片放tomcat下做测试的,所以在server.xml的Host标签中加上
<Context path="/images" docBase="/tmp/ramdisk4/images"/>
最后,自己通过url试一下吧
这个东西我只是抛砖引玉一下,大家如果是用apache或者lighttpd做静态资源的服务器的话,可以按照我这种方式来配置;但是有一点,这个东西当系统reboot以后,就什么都没有了,需要重新设置,所以说用户上传的东西,最好是写个shell来控制一下,及时备份;不过对于我们的生产环境,我们暂时没有把用户上传的路径做虚拟磁盘,没敢去尝试;当linux都reboot了,那就说明我们整个业务都停掉需要做调整,所以无所谓的。
分享到:
评论
6 楼 rubynroll 2009-07-22  
forthelichking 写道
恩,刚看了一下,tmpfs的方式,是要简单一些,不过都是通过挂载文件系统的方式做的,我想2者应该没什么本质的区别


mount -t tmpfs tmpfs /tmp/your_dir

一个命令搞定,而且tmpfs是动态增长,按需分配内存,不仅是“简单一些”而已。
5 楼 willko 2009-07-22  
这个用Squid、 NCache、 Varnish 来做确实更适合。
4 楼 forthelichking 2009-07-22  
xieye 写道
这个,最好前面加squid.

如果图片太多,楼主这种方法就不灵了


为什么图片太多就不太好了?squid我没试过,我只知道cdn是这么干的,请问你有没有在生产环境中
使用squid来做加速,或者能否告诉我,图片为什么太多就不好,是文件寻址速度受到影响了吗?如果
是这样的话,那我可以划分多个ram挂载文件系统,我想应该也没问题吧
3 楼 xieye 2009-07-22  
这个,最好前面加squid.

如果图片太多,楼主这种方法就不灵了
2 楼 forthelichking 2009-07-22  
恩,刚看了一下,tmpfs的方式,是要简单一些,不过都是通过挂载文件系统的方式做的,我想2者应该没什么本质的区别
1 楼 rubynroll 2009-07-22  
搞那么复杂,直接用tmpfs不行么?

相关推荐

    ramdisk虚拟内存磁盘

    ramdisk虚拟内存磁盘

    内存做磁盘 ramdisk

    首先,创建RAMDisk的基本原理是通过操作系统内核驱动程序来分配并管理内存,将这部分内存空间虚拟化为一个磁盘设备。用户可以通过特定的工具或命令行参数来设置RAMDisk的大小,并对其进行格式化,例如使用FAT(文件...

    内存虚拟磁盘 ramdisk

    通过这样的工具,用户可以自定义设置内存中虚拟磁盘的大小,将其用于存放临时文件、缓存或者运行对速度有高要求的应用程序,如数据库、游戏或者大型软件的启动文件。 虚拟内存磁盘的优势在于它的高速读写能力。由于...

    支持win7/64位的Ramdisk 内存虚拟磁盘

    Ramdisk是一种技术,它将计算机的RAM(随机访问内存)模拟为一个硬盘驱动器,创建一个内存中的虚拟磁盘。这种技术在Windows 7 64位操作系统中尤其有用,因为它能够利用系统的大量内存来提高数据读写速度,因为RAM的...

    如何设置ramdisk内存盘

    在本文中,我们将详细介绍如何设置RAMDisk内存盘,特别是针对64 位 WIN7 系统。 在设置RAMDisk内存盘之前,需要了解系统对内存的需求。在64 位 WIN7 系统中,系统对内存的需求量较大,最高可达 3.54G,因此在建立...

    RamDisk内存虚拟分区

    RamDisk是一种技术,它允许操作系统将一部分物理内存作为磁盘驱动器来使用,形成一个临时的、速度极快的存储区域,称为“内存虚拟分区”。这个技术尤其在Windows XP这样的老版操作系统中很有价值,因为它们默认无法...

    基于Ramdisk的全内存式Linux系统的设计与实现.pdf

    2. 内存磁盘:Ramdisk技术可以将内存当作磁盘来使用,提高了数据存储速度和访问效率。 3.Linux操作系统:本文基于Linux操作系统,使用Ramdisk技术将整个操作系统运行于内存中,从而提高了系统的整体性能。 4. 数据...

    通过RamDisk加速小型数据库访问速度

    而内存作为高速缓存,其读写速度远超硬盘,因此将经常访问的数据存储在RamDisk中,能显著提升系统性能。 在RedHat6.0系统中,创建和使用RamDisk的过程相对简单。首先,需要检查系统是否已经支持RamDisk,这可以通过...

    ramdisk虚拟磁盘工具

    虚拟磁盘是一种计算机技术,它允许操作系统将内存(RAM)作为临时存储空间,模拟成一个硬盘驱动器。这种技术被称为RAMDisk,正如标题“ramdisk虚拟磁盘工具”所示,它在32位系统中特别适用,提供了高效的数据读写...

    ramdisk 魔方内存盘

    ramdisk,即RAM(随机存取内存)驱动器,是一种将计算机内存的一部分划分为一个磁盘分区的技术,其主要优点是读写速度极快,因为内存的访问速度远超传统的硬盘驱动器。 在Windows 7环境下,ramdisk 魔方内存盘的...

    Ramdisk,能够将内存的一部分作为硬盘使用。内存大的机子推荐使用。

    通过合理设置和使用,可以有效地提高计算机的工作效率,但同时也需要注意其数据易失性和对内存资源的影响。在Windows XP和Win2003这样的旧版操作系统上使用经过验证的Ramdisk软件,可以在不升级硬件的情况下获得性能...

    ramdisk4g 4g内存用的

    然而,创建RAM磁盘需要占用物理内存,过大的RAM磁盘设置可能会导致系统资源紧张,影响其他程序的运行。因此,在使用"ramdisk4g"这样的工具时,需要根据实际需求和系统资源状况合理设定RAM磁盘的大小。 总的来说,...

    免费内存虚拟盘VSuite.Ramdisk1.18,超级兔子虚拟磁盘1.6

    它采用独特的软件算法,高效率地将内存虚拟成物理硬盘,使得对硬盘文件的数据读写转化为对内存的数据访问,极大的提高数据访问速度,从而突破硬盘瓶颈,飞速提升计算机性能。另一方面它大大减少了对物理硬盘的访问...

    Ramdisk.内存做硬盘

    1. **工作原理**:ramdisk在启动时分配一定量的内存空间,并将其虚拟化为一个磁盘驱动器。数据直接存储在内存中,因此访问速度极快。然而,由于内存是易失性的,ramdisk上的所有数据在断电后都会丢失。 2. **应用...

    Ramdisk,将内存化成虚拟硬盘分区

    Ramdisk,将内存化成虚拟硬盘分区,临时文件,缓存等可放在此虚拟硬盘分区里,实际上是放在了内存里,读写速度极快,减少物理硬盘读写,延长磁盘寿命,文件如需保存,可将其拷贝到物理硬盘,可根据不同需求设置虚拟...

    RamDisk.rar_ramdisk vxwor_ramdisk vxworks_vxworks 虚拟_内存虚拟磁盘_虚拟磁盘

    VxWorks下有关创建虚拟磁盘(即划分一块内存空间为虚拟磁盘使用)的源程序和工程文件,包括调试信息和使用也写在里边了。

    Primo.Ramdisk 内存设置虚拟硬盘

    在实际应用中,Primo.Ramdisk还可以与其他优化工具结合使用,如缓存加速软件,将经常访问的数据存放在内存硬盘中,进一步提升系统性能。同时,用户还可以通过设置热备份策略,将内存硬盘的数据定时保存到物理硬盘,...

    QSoft RamDisk安装和设置教程

    QSoft RamDisk是一款高效实用的内存虚拟硬盘工具,它允许用户利用系统内存创建一个临时的高速硬盘,从而显著提升电脑性能。在当前内存价格相对较低而硬盘价格较高的背景下,使用RamDisk工具成为优化电脑性能的有效...

    Ramdisk内存盘

    首先,内存资源是有限的,过度使用Ramdisk可能导致系统内存不足,影响其他程序的运行。其次,由于Ramdisk的数据存储在内存中,一旦断电或重启,所有数据都将丢失,所以不适合存放重要的持久化数据。因此,通常会配合...

Global site tag (gtag.js) - Google Analytics