摘要:
这篇文章将展示如何用ramdisk来提高postgresql数据库的访问速度.
介绍
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
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器