赛迪网 > IT技术 Linux > 最新更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

教你提高Linux上小型数据库的速度

发布时间:2007.01.04 05:05     来源:ChinaITLab    作者:ChinaITLab

介绍

Okay, 什么是RAMDISK?我们如何用它来提高数据库server的响应速度?

Ramdisk就是说用作于硬盘空间的内存。无论什么时候你使用Ramdisk,实际上你是在使用内存而不是硬盘。在这一点上既有优点又有缺点。最基本的,最大的优点是你是在使用内存,你所做的一切都会快一些,因为硬盘的速度较内存慢。最大的缺点是如果你改变了数据库服务器的内容并且重新启动机器时,所做的一切改动都将丢失。

对于数据库Server PostgreSQL来说, 如果你将所有的数据库调入内存将会大大提高它的速度。

建立一个ramdisk /Test

将默认ramdisk中的一个指向目录/Test。

  
  mkdir -p /Test 
  mkfs -t ext2 /dev/ram0 
  mount /dev/ram0 /Test
  

如果这一步失败的话,也许是因为你所编译的内核不支持ramdisk。你应该将内和配置选项中的CONFIG_BLK_DEV_RAM 一向置为可用的状态。

以上的步骤只能给你提供一个4M大小的ramdisk。The above gives you a ramdisk with available space of just under 4Mb. 请参看 Ramdisk Article 一文,看看如何将其改变成50M大小。

为 PostgreSQL 建立一个ramdisk

理论上你应该优良两个数据库server。一个是你可以进行修改的,另一个是在ramdisk上的拷贝。实现这一点你应该用到"pg_dump" 或是 "pg_dumpall"命令。

注意: 我们假定你已经在文件中进行过设置是你的ramdisk大于你的数据库的大小。如果你想得到它的近似的大小可以用命令"cd /var/lib/pgsql; du ".

无论怎样,使你的postgresql安装在 "/var/lib/pgsql" 并且将他们放到内存中,这样做:

  
  ### Stop the current postgresql server 
  /etc/rc.d/init.d/postgres stop 
  ### rename the current directory 
  mv /var/lib/pgsql /var/lib/pgsql_main 
  #### Create a directory to have our ramdisk on 
  mkdir -p /var/lib/pgsql_memory 
  #### change the ownership of the new directory to postgres or whatever 
  #### the actual owner is. 
  chown postgres /var/lib/pgsql_memory 
  #### Make an alias or link to the original name, /var/lib/pgsql 
  ln -s /var/lib/pgsql_memory /var/lib/pgsql 
  
  #### Format the ramdisk 
  mkfs -t ext2 /dev/ram0 
  #### Mount the ramdisk to the postgresql directory 
  mount /dev/ram0 /var/lib/pgsql_memory 
  
  #### Copy everything from the main directory into the ramdisk 
  tar -C /var/lib/pgsql_main -cp . | tar -C /var/lib/pgsql_memory -xp 
  ### Start the current postgresql server 
  /etc/rc.d/init.d/postgres start
  

关于速度Comments on the speed

我已经把postgresql分别在ramdisk上和不在ramdisk上进行过速度方面性能的测试。有些时候,在ramdisk上的postgresql的速度将会快出50%。当然有些时候不是这样的。

我注意到,当系统对数据设置缓冲时,系统性能的提高并不很大只有大约10%到20%。当有大量新的数据被同时输入数据库时,系统的性能有着显著的提高。

在使用ramdisk中最大的好处就是你可以强制你的数据库留在内存中而避免使用硬盘。如果你不使用ramdisk,你的数据库将可能被换出内存。当它被使用时再被从硬盘上调入内存。

注释

对于linux操作系统,当一个文件被读取时,它将被保存在内存中直到内存空间被其他程序要求使用。这样便是缓存。也许这是一个解决之道。如果不是这样,当我的机器有访问的时候,会听见硬盘的声音。利用ramdisk时数据库放在内存中而不会被到处内存。如果经常用数据库server的话,要是我就把它放在内存中。

在数据库上使用ramdisk的好处就是可以得到高速度,简单而明快。对于那些只读的数据库来说,这可是一个非常棒的主意。

它的不足就是你必须知道如何管理,并且在你进行修改时,最好确信你已经做了修改的备份。

(T115)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 关于数据库驱动程序测试的一些建议 (12-31) · 合适的数据库平台影响KMS系统成败 (12-31)
· 通过数据库引擎来加速MySQL数据库 (12-31) · 数据库管理中防黑客入侵技术概述 (12-31)
· 关于MySQL数据库的用户认证系统分析 (12-31) · 使用Linux系统的Live CD进行安全审核 (12-31)
· 如何在Linux系统下实现Server Push (12-30) · 为什么使用Linux-写给愿意改变的人们 (12-30)
· Linux和Windows两个世界的文化差异 (12-30) · 在Linux系统下架设自己的MudOS服务 (12-30)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管