ceph测试架构

1、概述

a、安装ceph-test包

b、执行程序

比如:
测试rados 缓存池功能:ceph_test_rados_api_tier
测试消息层功能:ceph_test_msgr

程序分析:
a、所有测试代码都在src/test目录下
b、Makefile:由Makefile-client.am 和 Makefile-server.am控制
c、其中有很多单元测试可以在开发的时候借鉴
     比如,要基于librados进行开发,可以参考src/test/librados/下的测试程序
d、和librbd相关的控制在Makefile-client.am文件

2、发布前的整体测试

    make check-local  >~/test/result.txt 2>&1
    make check  >~/test/result.txt 2>&1

    若出现failed的测试,会在src/out/下有详细日志记录
    将该日志发给开发小组
    http://tracker.ceph.com
    记录注意事项:
    说明出现该种情况的编译环境:ceph的版本、os的版本、linux内核的版本等。

3、单项测试

./configure --with-debug
make -j4
sudo MON=1 OSD=4 MDS=1 ./vstart.sh -n -X
./ceph_test_librbd
或者
make check
./unittest_librbd

4、测试单个用例

./ceph_test_librbd TestLIBRBDEC. TestCreateLsDeletePP
TEST_F(ClassAUnitTest, DISABLED_testCase1){// Assign .. Act .. Assert.}
--gtest_filter=ClassAUnitTest.*
sudo ./ceph_test_librbd --gtest_filter=TestLibRBDEC.TestIOPPWRITE

测试librados的aio功能(程序目录: test/librados
 sudo ./ceph_test_rados_api_aio
 sudo ./ceph_test_rados_api_io
     

5、搭建集群测试

(1)ceph_smalliobench
基本用法:
ceph_smalliobench --num-concurrent-ops 16 --io-size 4096 --num-objects=1000 --write-ratio=1 > /tmp/osd_0_write_4194304
根据测试结果,绘制图形:
(2)ceph_smalliobenchfs
(3)ceph_smalliobenchrbd
(4)ceph_smalliobenchdumb
(5)使用admin socket
(6)rados bench测试
rados -p POOL  bench 300 write -t 32 --no-cleanup --run-name benchwrite
rados -p POOL bench 300 seq -t 32 --no-cleanup --run-name benchwrite
rados -p POOL cleanup --run-name benchwrite
比如测试data副本池
rados -p data  bench 300 write -t 32 --no-cleanup --run-name benchwrite
rados -p data bench 300 seq -t 32 --no-cleanup --run-name benchwrite
rados -p data cleanup --run-name benchwrite

你可能感兴趣的:(后台开发,ceph源码分析,开发工具)