linux

位置:IT落伍者 >> linux >> 浏览文章

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


发布日期:2023年03月31日
 
提高Linux上小型数据库的速度

介绍

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

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

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

建立一个ramdisk /Test

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

mkdir p /Test

mkfs t ext /dev/ram

mount /dev/ram /Test

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

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

为 PostgreSQL 建立一个ramdisk

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

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

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

### Stop the current postgresql server

/etc/rcd/initd/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 ext /dev/ram

#### Mount the ramdisk to the postgresql directory

mount /dev/ram /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/rcd/initd/postgres start

关于速度Comments on the speed

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

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

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

注释

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

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

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

上一篇:Linux下视像与音频新体验

下一篇:完全用 GNU/Linux 工作