Ext4 Bigalloc report public
Upcoming SlideShare
Loading in...5
×
 

Ext4 Bigalloc report public

on

  • 1,443 views

 

Statistics

Views

Total Views
1,443
Slideshare-icon Views on SlideShare
1,443
Embed Views
0

Actions

Likes
0
Downloads
36
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ext4 Bigalloc report public Ext4 Bigalloc report public Document Transcript

    • Ext4 Bigalloc 特性测试报告 三百(sanbai@taobao.com) 共享业务平台-核心系统研发-内核组 2012 年 6 月 8 日一,背景介绍 Ext4 Bigalloc 是由 Google 工程师 Ted Tso 开发的 Ext4 文件系统新特性,淘宝内核组也参与了相关工作。Bigalloc 是在当前 Ext4 文件系统的 4KB 磁盘分配单元的基础上,将分配磁盘空间的最小单元扩大到 32KB、64KB、512K 甚至更大,在磁盘上保存较多大文件(譬如超过 2MB)的场景中,可以大大降低磁盘碎片数量,以及各种文件系统元数据开销。 经过将近半年的开发和测试,目前支持 Ext4 Bigalloc 特性的淘宝 2.6.32 内核在 CDN线上稳定运行了超过 90 天。从线上性能实际数据看,Bigalloc 特性对提高 Ext4 在 CDN 和Hadoop 应用场景下的系统 IO 性能有明显的积极影响。 如下是本报告所涉及的若干性能对比指标的概要信息,各指标的详细内容请参看第三章相应部分。线下压力测试对比数据点 Normal Ext4 Ext4 Bigalloc 结论write 创建新文件(cache write) 7772ms 1658ms 时间缩短 78.7%write 创建新文件(direct io) 15617ms 15678ms 没有变化fallocate 创建新文件 4198ms 1704ms 时间缩短 59.4% 表 1.1 Ext4 Bigalloc 线下压力测试数据概要Hadoop 测试对比数据点 Normal Ext4 Ext4 Bigalloc 结论单机格式化后的可用磁盘空间 22180G 22312G 单机增加可用空间 132G单机 fsck 的时间 1916s 453s 时间缩短 70.3% 表 1.2 Ext4 Bigalloc Hadoop 测试数据概要 1
    • CDN 测试对比数据点 Normal Ext4 Ext4 Bigalloc 结论SSD 盘格式化后的可用空间 151423MB 152326MB 单块 SSD 盘增加可用空间 903MBSATA 盘格式化后的可用空间 1358G 1366G 单块 SATA 盘增加可用空间 8 G元数据内存占用量 382.2MB 322.5MB 降低 15.6%磁盘 IOPS 9.7(读) 9.2(读) 降低 4.9%(读) 8.8(写) 7.0(写) 降低 20.6%(写)磁盘 I/O 带宽用率 16.1 12.6 降低 21.7%系统平均负载(load avg5) 0.465 0.312 降低 41.7%文件的磁盘碎片数量 141(TCOSS) 5(TCOSS) 降低 96.5%(TCOSS) 132(COSS) 41(COSS) 降低 68.9%(COSS) 1 (AUFS) 1(AUFS) 没有变化平均 COSS 对象对应 I/O 次数 0.87 0.87 没有变化iowait 4.1 3.0 降低 27.4% 表 1.3 Ext4 Bigalloc CDN 性能数据概要 2
    • 二,线下压力测试2.1 write 创建新文件(cache)测试内容:创建 16 个 128MB 的文件,观察所花费的时间(带 cache 的 write)测试结果:单位:毫秒Normal ext4 bigalloc(64k) 时间缩短7772 1658 78.7%上表做成直方图如下: 图 2.1.1 write(cache)创建文件性能2.2 write 创建新文件(direct io)测试内容:创建 16 个 128MB 的文件,观察所花费的时间(带 cache 的 write)测试结果:单位:毫秒Normal ext4 bigalloc(64k) 时间缩短15617 15678 无上表做成直方图如下: 3
    • 图 2.2.1 write(direct io)创建文件性能2.3 fallocate 创建新文件测试内容:用 fallocate 创建 2000 个 128MB 的文件,看所花费的时间测试结果:单位:毫秒Normal ext4 bigalloc(64k) 时间缩短4198 1704 59.4%上表做成直方图如下: 图 2.3.1 fallocate 创建文件性能 4
    • 三,Hadoop 测试3.1 格式化后可用的磁盘空间单位:MB磁盘 Normal ext4 bigalloc(64k) 增加可用空间1.8T SATA 盘 1892703 1903985 11282一块 SATA 盘,可增加可用空间:11G3.2 fsck 所需时间单位:秒磁盘 Normal ext4 bigalloc(64k) 时间缩短1.8T SATA 盘 159.7 37.8 76.3% Hadoop 机器如果异常宕机,则需要 fsck 检测所有硬盘,能将 fsck 的时间降低到原来的四分之一,对于运维是很有帮助的。四,CDN 测试 此处涉及淘宝 CDN 的具体机器硬件配置和机器数量,按公司目前政策,暂不能公开,大 家可参阅第一章的概要数据五,Bigalloc 测试结论 bigalloc 能够显著增加硬盘的可用空间,缩短 fsck 时间,适用于硬盘资源紧张、或对单机重启时间要求较高的集群。 同时,bigalloc 减少了文件碎片,对创建、读写大文件有很好的 IO 优化,所以,对于需要频繁操作大文件的应用,使用 bigalloc 可以显著降低 CPU 消耗和 IO 消耗。 5