分享
 
 
 

Linux 文件系统对数据库的性能影响

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

http://www.linuxjournal.com/arti ... ead&order=0

上一篇我们讲到了 Oracle 数据库的性能优化,我们继续保持 KISS(keep it simple, stupid) 的原则,来看文件系统对数据库性能的影响。

我们要比较的是 Linux 多设备(md),逻辑卷管理(lvm),原始文件系统和格式化后文件系统,普通文件系统和日志文件系统的区别。

在日常生活中,我们知道有“人多力量大”的说法。但是这个理论并不能适合磁盘驱动器。当代的计算机技术, CPU 能够达到 2GHz 的主频,内存的刷新速度以纳秒计,总线的数据传输速率超过了 266 Mbps。尽管磁盘的容量增大了,价格下降了,但是磁盘的输入输出速度依然成为计算机系统最大的瓶颈。转速保持在 5400-15000 RPM 之间,传输速率只有 20-160 MBps,这些不利因素使磁盘成为 Achilles 之踵,制约了整个计算机系统的速度。

对于磁盘而言,如果采购 IDE 的话,建议 7200 RPM 以上,带有至少 2MB 缓冲的磁盘。而对于那些出手阔绰老板可以考虑 SAN 和 NAS 磁盘阵列。

本文的测试环境是 双 PIII 933 CPU ,2 GB 内存,两块 Symbios SCSI Ultra 2 阵列卡,10台 SCSI Ultra 2 7200 RPM 18GB 磁盘。所有 10 台磁盘采用 RAID0 (条带化,但是不冗余)。

实现 RAID 的三种办法:

硬件(一般带有 128M Cache)

软件 md 内核

软件 卷管理 (LVM)

在其他 Unix 用过的朋友知道这些 Unix 都采用 LVM ,Linux 支持 LVM 也是不久以前的事情,因此,本文推荐你使用 LVM 作为数据库文件系统。

假设我们要添加四个 9GB 的 SCSI 磁盘(已经有四个),实现单个 RAID 0 ext2 的文件系统,命名为 /data ,那么实现的方法脚本是:

for i in e f g h

do

sfdisk /dev/sd $i << EOF

0,9216,8E

EOF

pvcreate /dev/sd $i

done

vgcreate vg01 /dev/sd[e-h]

lvcreate -i 4 -I 64 -L 36G -n lv01 vgo1

mke2fs /dev/vg01/lv01

mkdir /data

mount /dev/vg01/lv01 /data

对于其他文件系统,可以把上面的 mk2efs 改变为:

mke2fs-j 新的 ext3 日志文件系统

mkreiserfs 流行的 Reiser日志文件系统

mkfs.jfs IBM 的日志文件系统

对于 RAW 设备而言,可以把最后三行改变为:

mknod /dev/rawctl

mknod /dev/raw1 c 162  $i

raw

基准测试的工具有很多,但是我们要选择比较客观的能正确反映系统性能的工具来。我们选择 AS3AP,ANSI SQL 的基准测试工具。TPC-C ,用与 OLTP 的基准测试工具。

采用 AS3AP 后的结果显示 ext3 的性能最好,RAW 次之,但是 Reiser 几乎就是呆住了,建立索引的时间要比平均多 2.6 倍。

Table 1. AS3AP Transaction Benchmark Results

建库 载表 建索引 总共时间 每秒事务 平均时间

ext2 345 289 474 1,108 254 0.205

ext3 230 127 221 578 252 0.208

Reiser 371 291 1,029 1,691 250 0.210

IBM JFS 350 282 462 1,094 253 0.207

RAW 396 290 442 1,128 196 0.369

因此我们把 RAW 文件系统的内存加大两倍后看结果:

Table 2. TPC-C Transaction Benchmark Results

建库 载表 建索引 总共时间 每秒事务 平均时间

ext2 348 295 234 877 2.758 0.016

ext3 228 158 122 508 2.753 0.019

Reiser 378 297 537 1,212 2.757 0.028

IBM JFS 351 277 231 859 2.757 0.025

RAW 396 290 225 911 2.748 0.073

RAW X 2 396 240 263 899 2.753 0.050

因此,根据以上的结果,我们可以看出,ext3 是最佳的选择。而 RAW 文件系统不推荐在 Linux 系统中使用。

对系统还可以优化的办法:如果数据库在整个文件系统中查找数据,可以运行 fsync(),而

ext3 在 data=journal 模式下能得到巨大的性能提升,可以达到 10 倍。因为脏数据是线性写入日志,然后异步写回的。

Reiser 慢的原因:http://www.namesys.com/ ,点评这篇文章的网友认为, XFS 会是所有日志文件系统中性能最好的,但是作者没有做基准测试。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有