0-环境 1-写性能 2-读性能 3-灾备 ---------0.环境--------- 共四台服务器:25.mzhen.cn - 28.mzhen.cn metaserver: 25.mzhen.cn meta_info_bak: 26.mzhen.cn chunkserver: all replica: default(3) 机器配置:16*Xeon 2.27, 16GB, 2TB * 2(7200k, raid5, XFS 文件系统), 1Gbps 测试发现,CPU利用率不足10%,网络速度一般在400-700Mbps。实际瓶颈应该在硬盘IO。 ---------1.写性能--------- 1.1-测试程序 FCbenchmark/load-data.cpp 1.2-测试结果 单文件连续写,平均时间5GB/80秒(62.5MB/s) 多文件(10MB/文件)连续写,平均时间5GB/80秒(62.5MB/s) 1.3-异常情况 集群中的4台服务器只有3台接收写数据,记为ABC。手工停掉B的chunkserver进程,则D会开始写入数据。 重启集群,仍然只有3台机器接收数据,但变为ABD。 目前还不清楚造成这一现象的原因。 ---------2.读性能--------- 2.1-测试程序 FCbenchmark/scan-data.cpp 2.2-测试结果 单文件顺序读,5GB/70秒左右(71.4MB/s) 单文件随机读,读取5MB后随机跳转,5GB/95秒左右(52.6MB/s) 2.3-异常情况 2.4-读写同时进行-不同文件 5GB写入时间,115秒左右(43.4MB/s) 5GB读取时间,140秒左右(35.7MB/s) 2.5-读写同时进行-相同文件 可以进行,速度和2.4节基本一致。 ---------3.灾备--------- 3.1-写过程灾备-chunkserver 在全速写入数据时,停掉某台机器的chunkserver服务。 写数据程序得到如下提示, 06-04-2010 16:11:01.683 INFO - (KfsWrite.cc:472) Write failed...chunk = 1046, version = 1, offset = 25165824, error = -113 06-04-2010 16:11:01.684 INFO - (KfsWrite.cc:304) Daisy-chain: 192.168.1.37 30000 192.168.1.38 30000 192.168.1.35 30000 ; Will retry allocation/write on chunk 1046 due to error code: -113 06-04-2010 16:12:01.690 INFO - (KfsWrite.cc:372) Forced allocation: chunk=1046, version=2 之后继续写入过程。可以观察到现存机器的数据量持续增加,写入速度没有明显变化。 写入完成后尝试读取该文件,没有出现异常 3.2-写过程灾备-metaserver 在全速写入数据时,停掉metaserver进程。 写数据程序得到如下提示, Connect: : Connection refused,并不断重复(10分钟以上) 此时重新启动metaserver,写入过程自动恢复。 3.3-读过程灾备-chunkserver 在全速读取数据时,停掉chunkserver进程。 读过程继续,速度不变。 继续停止chunkserver进程,当保存所需数据的所有chunkserver都停掉后,读取程序得到如下提示, 06-05-2010 13:41:29.005 INFO - (KfsRead.cc:150) Read done from on dir1/perf3: @offset: 30571233281: asked: 5120000, returning 4833281, errorcode = 1 3.4-读过程灾备-metaserver 在全速读取数据时,停掉metaserver进程。 读取程序得到如下提示, Connect: : Connection refused 06-05-2010 13:45:17.965 INFO - (KfsRead.cc:150) Read done from on dir1/perf3: @offset: 6576668672: asked: 5120000, returning 2588672, errorcode = 1048576 Connect: : Connection refused 06-05-2010 13:45:32.967 INFO - (KfsRead.cc:150) Read done from on dir1/perf3: @offset: 6576668672: asked: 5120000, returning 0, errorcode = 0 之后程序退出。 3.5-数据受损-chunkserver 删除chunkserver上的数据,重新启动chunkserver。 日志中得到如下提示, 06-05-2010 13:52:20.006 INFO - (Replicator.cc:123) Starting re-replication for chunk 16282 with size 67108864 06-05-2010 13:52:20.008 INFO - (Replicator.cc:138) Offset: 67108864 is past end of chunk 67108864 可以认为系统自动开始了数据恢复。 3.6-数据受损-metaserver 删除metaserver上的元数据,重新启动整个集群。 日志中得到如下提示, 06-05-2010 14:05:52.480 INFO - (LayoutManager.cc:263) Non-existent chunk id = 17885 => stale 尝试读取之前写入的文件,提示文件不存在。 注意1, 配置文件machines.cfg中指定的backup_path不起作用。 注意2, 如果没有手工回复metaserver的元数据,而直接重启了metaserver进程,metaserver会自动重建元数据,并且会擦掉集群中所有数据。
KFS分布式文件系统测试报告
最新推荐文章于 2021-07-18 15:53:11 发布