快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

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



先容

Okay, 什么是RAMDISK?我们若何用它来前进数据库server的相应速率?

Ramdisk便是说用作于硬盘空间的内存。www9778con无论什么时刻你应用Ramdisk,实际上你是在应用内存而不是硬盘。在这一点上既有优点又有毛病。最基础的,最大年夜的优点是你是在应用内存,你所做的统统都邑快一些,由于硬盘的速率较内存慢。最大年夜的毛病是假如你改变了数据库办事器的内容并且从新启念头器时,所做的统统篡改都将损掉。

对付数据www9778con库Server PostgreSQL来说, 假如你将所有的数据库调入内存将会大年夜大年夜前进它的速率。

建立一个ramdisk /Test

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

mkfs -t ext2 /dev/ram0

mount /dev/ram0 /Test

假如这一步掉败的话,大概是由于你所编译的内www9778con核不支持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

#### www9778conCreate 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 thewww9778con speed

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

我留意到,当系统对数据设置缓冲时,系统机能的前进并不很大年夜只有大年夜约10%到20%。当有大年夜量新的数据被同时输入数据库时,系统的机能有着显明的前进。

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

注释

对付linux操作系统,当一个文件被读取时,它将被保存在内存中直到内存空间被其他法度榜样要求应用。这样就是缓存。大概这是一个办理之道。假如不是这样,当我的机械有造访的时刻,会听见硬盘的声音。使用ramdisk时数据库放在内存中而不会被到处内存。假如常常用数据库server的话,如果我就把它放在内存中。

在数据库上应用ramdisk的好处便是可以获得高速率,简单而明快。对付那些只读的数据库来说,这可是一个异常棒的主见。

它的不够便是你必须知道若何治理,并且在你进行改动时,最好确信你已经做了改动的备份。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: