Ext4 Bigalloc report public

1,990 views

Published on

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
1,990
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
42
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Ext4 Bigalloc report public

  1. 1. 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
  2. 2. 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
  3. 3. 二,线下压力测试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
  4. 4. 图 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
  5. 5. 三,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

×