| 硬件环境 |
| 机器:5台 OS: redhat 5.4 |
| 内存:12G 磁盘:1 / 2T CPU:2*4( Intel(R) Xeon(R) CPU E5504 @ 2.00GHz) |
| 软件环境 |
| HDFS |
| hadoop2.0.0 NameNode HA(2), zookeeper(3), datanode(5) journalnode(3) |
| Hypertable |
| Master(1), hyperspace(3), RangeServer(5), Thriftbroker(5) |
| 操作说明 |
| 同时在4台机器上操作,每台机器起10个线程,每个线程独占一个client。 及 40client并发操作。 每次写入都调用commit log和flush。 数据主要都是并发操作下的单机情况 |
| CPU |
| CPU运行稳定,CPU Load大部分保持1左右,最高偶尔上5(Rangeserver merge操作估计)耗CPU较多的进程是ThriftBroker和RangeServer,写入的时候是DfsBroker,DataNode都吃CPU。 |
| 内存 |
| 内存占用主要是RangeServer,几乎全部吃光内存,不过还是可以稳定运行 |
| 写入操作吞吐量 |
| 217K文件 带宽:8*4=32 MB/s Insert数: 32*4 = 128 /s 13K文件 带宽:9*4=36 MB/s Insert数:700*4 = 2800/s |
| 读取操作吞吐量 |
| 217K文件 带宽:41*4=164 MB/s Insert数: 190*4 = 760 /s 单机读:142 MB/s 655/s 13K文件 带宽:30*4=120 MB/s 读取记录数:2200*4 = 8800/s 单机读:100MB 7500/s |
| 其它总结 |
| 重复读跟首次读差别不是太大,估计rangeserver有预加载机制,这个需要看代码确认 |
==============================================详细数据=================================================
217K数据的实验
| 总时间 | 操作个数 | 吞吐量/s | 操作数 /s |
4台机器同时测写入,整体容量从200G到1.7T | |||
| 12686.96 s | 500000 | 8569.75 KB/s | 39.41 |
| 13744.81 s | 500000 | 7910.19 KB/s | 36.38 |
| 17238.41 s | 500000 | 6307.08 KB/s | 29 |
重启集群,4台机器同时测读取 | |||
| 514.55 | 100000 | 42259.67 | 194.34 |
| 523.94 | 41502.62 | 190.86 | |
| 519.15 | 41885.28 | 192.62 | |
单机重启集群读取操作 | |||
| 170.64 s | 100000 | 127429.67 KB/s | 586.02 |
单机重复读取操作 | |||
| 152.48 s | 100000 | 142603.73 KB/s | 655.81 |
13K数据测试
| 总时间 | 操作个数 | 吞吐量 KB/s | 操作数 /s |
4台机器同时测写入 | |||
| 163.62 | 100000 | 8402.56 KB/s | 611.18 |
| 120.7 | 100000 | 11390.19 KB/s | 828.49 |
| 133.95 | 100000 | 10263.38 KB/s | 746.53 |
重启集群,4台机器同时测读取 | |||
| 43.79 | 100000 | 31394.27 | 2283.54 |
| 45.89 | 29960.14 | 2179.23 | |
| 48.96 | 28077.49 | 2042.29 | |
单机重启集群读取操作 | |||
| 13.19 | 100000 | 104203.75 | 7579.53 |
单机重复读取操作 | |||
| 13.23 | 100000 | 103902.72 | 7557.63 |
======================================================同比下的单机测试==========================================
十个线程在同一机器读取1W个224KB小文件 吞吐量 (12G内存,4*2CPU)
首读
(1.6352Mb/sec)
有系统缓存后读
3Mb /s ~200Mb/s 不等,主要区间在3~7之间
测试机器间的网络互连是1GMb==128 MB
=================================================使用原生Hyertable API测试性能==========================================
217K写:
带宽: 9.8*4 MB /s = 39.2 MB/s 45*4=180/s
相对之前提高了20%
217K读磁盘(首读):
带宽: 27*4 MB /s = 108 MB/s 126*4=504/s
217K读缓存(第二次读):
带宽: 130*4 MB /s = 520 MB/s 617*4=2468 /s
单机带宽IN 和OUT 基本都是80MB~100MB,基本满带宽了。

本文介绍了在Hadoop 2.0.0环境下对Hypertable进行的性能测试,包括不同文件大小下写入和读取操作的吞吐量、CPU负载、内存使用情况等关键指标,并对比了使用原生API前后的性能变化。

790

被折叠的 条评论
为什么被折叠?



