RHEL6 kernel bug在hadoop上的测试

最近给hadoop集群升级了RHEL6,发现性能比之前的差了不少。发现淘宝内核组发现并解决了这个问题

原文链接:http://blog.donghao.org/2013/03/20/hadoop%E9%9B%86%E7%BE%A4%E4%B8%8A%E6%8D%89%E5%88%B0kernel-bug%E4%B8%80%E4%B8%AA/

于是在测试机器上面跑了一下对比,收货很大:

环境介绍:

测试机型:IBM X3630 M3 48G 12X2TSAS

集群:master 1台,salve3台

测试方式:官方terasort

测试数据:100G  (10亿条,每条100字节)

Map个数:736

Reduce个数:30

 

测试结果:

  1. 1.   Job用时对比:

 

1

2

3

4

5

6

7

平均用时

自带内核用时

7m30s

 8m10s

8m7s

8m15s

8m6s

8m3s

8m16s

8m8s

打patch后用时

6m40s

 6m45s

 6m44s

6m45s

 6m49s

 6m53s

7m1s 

6m48s

 

七次平均用时对比(去掉最大最小取平均),打patch后用时少了16%。

 

  1. 2.    BenchMark数据对比

 

BenchMark

自带内核

patch

对比

ReduceShufferTime

2804003

1950012

下降30%

ReduceSortTime

122149

113363

下降7%

MapNextKeyTime

3503416

3629686

上升4%

ReduceNextKeyTime

56035

57081

上升2%

ReduceUserTime

2319175

1881118

下降19%

MapUserTime

6621552

5504168

下降17%

CPU time spent (ms)

20498470

16503790

下降19%

Total committed heap usage (byte)

595103383552

594591481856

持平

Physical memorg (bytes)

363650875392

353246367744

持平

Virtual memory (bytes)

1561136439296

1560911613952

持平

 

  1. 3.      系统状况

没有使用ganglia等工具,大体数据如下:

 

cpu峰值

load峰值

内存使用

自带内核用时

92%

40

8%

打patch后用时

90%

32

10%

 

 

  1. 4.      结论

从测试数据看,无论是直观的job用时,还是benchmark数据,打patch后性能均有明显的提升。

BenchMark的耗时在shuffle阶段提升最明显,shuffle阶段也正是IO最密集的时候,跟原文对IO的改进基本吻合。

posted @ 2013-10-17 19:36  王晓伟  阅读(373)  评论(0编辑  收藏  举报