Hunter的大杂烩

December 8, 2010

mogilefs测试报告

Filed under: 技术话题 — hunter @ 1:31 pm

背景:

1. 建立1tracker

2. 建立2storage(0.23,0.26)

 

性能测试

1. 上传 100 7M 文件,统计耗时,重复多次

   结论:

a.       Mogilefs自带的 mogstored稳定性不佳,在持续上传10个文件后会崩溃,替换为nginx之后,保持稳定

b.       测试数据:

   total upload:100
   time spend:114.306327105

   多次上传结果表示大文件平均处理速度大概是 1文件/s

 

2. 上传 10,000 600k 文件,统计耗时,重复多次

   结论:

a.       Mogilefs自带的 mogstored稳定性不佳,在持续上传10个文件后会崩溃,替换为nginx之后,保持稳定

b.       测试数据:

    total upload:1000
    time spend:150.214337111
    多次反复测试的结果表示小文件处理速度大概是10文件/s,大概5MB/s
 

3. 连续下载 100-1000 次不同文件,统计耗时,重复多次

   结论:

a.       测试数据:

    total get:100 * 7M

    time spend:64.9994878769

    total get:1000 *700k

time spend:95.6649990082

    多次反复测试的结果表示下载速度大概10MB/s,基本能吃满百兆带宽

4. 随机测试上传、下载

   结论:

a.       稳定性的主要瓶颈是存储节点;

b.       6个并发持续测试时,大概会有1/20概率出现上传、下载失败的情况;

 

 

容错测试:

1.       测试一个storage节点崩溃时的表现

a)         早期在使用mogstored时,由于程序不稳定,会经常崩溃,实际上等于模拟了一个节点崩溃的情况;

b)         如果程序上传时恰好使用了崩溃的节点,会导致上传失败;

c)         没有使用到崩溃节点的程序能正常上传;

2.       节点恢复后的数据容错表现

a)         崩溃节点恢复后,可以观察到数据从有效节点持续复制到崩溃节点上,直至数据复制完毕

3.       新增节点表现

a)         如果配置时,设置数据复制分数为2份,则新增节点只会分布新增的部分数据;

b)         当强制将旧的某个device标志为dead状态时,会观察到数据持续被复制到新增节点,直至数据复制完毕

 

总体测试结论:

1.       考虑到测试机的性能和带宽,估算运营环境下可以支持 5文件/s的上传速度,下载可以支持10MB/s的峰值速度;

2.       以上数据可以支持大概每天5w个单式方案的规模;

3.       容错能力较高,没有单点问题

4.       进程所耗内存资源与文件存储量无关;

5.       Mogstored替换为nginx之后,会丧失对文件系统的监控能力,需要用第三方监控替代;

 

遗留待确认问题:

1.       数据库中存储的文件数量与实际文件系统数量有不一致情况,需要了解怎么产生的;

2.       不同节点之间会有文件数量差异(相差的文件在数据库中不存在),需要了解怎么产生的;

 

 

 

 

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress