cinder后端采用nfs和lvm性能对比

来源:互联网 发布:网络娱乐注册送彩金 编辑:程序博客网 时间:2024/05/29 18:34

作者:【吴业亮】云计算开发工程师
博客:http://blog.csdn.net/wylfengyujiancheng

物理机配置:

这里写图片描述

1、将机械盘一块盘分为两个区,一个作为lvm,另一个区作为nfs。同时挂载在本地的cinder上
2、创建一台虚拟机(起在另一块ssd上),分别创建两块云硬盘,同时挂载在该虚拟机上
这里写图片描述
这里写图片描述

3、在虚拟机上安装fio

# yum install fio-2.1.2-1.el6.rf.x86_64.rpm

4、分别对两块盘4k随机读,4k随机写,4M顺序读,4M顺序写进行测试
4k随机度

# fio -filename=/dev/vdb -direct=1 -iodepth=64 -thread=2 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=32 -runtime=60 -group_reporting -name=randread4k -output=nfsrandread4k.log
# fio -filename=/dev/vdc -direct=1 -iodepth=64 -thread=2 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=32 -runtime=60 -group_reporting -name=randread4k -output=lvmrandread4k.log

4M顺序读:

# fio -filename=/dev/vdb -direct=1 -iodepth=64 -thread=1 -rw=read -ioengine=libaio -bs=4m -size=1G -numjobs=10 -runtime=60 -group_reporting -name=read4m -output=nfsread4m.log
# fio -filename=/dev/vdc -direct=1 -iodepth=64 -thread=1 -rw=read -ioengine=libaio -bs=4m -size=1G -numjobs=10 -runtime=60 -group_reporting -name=read4m -output=lvmread4m.log

4M顺序写:

# fio -filename=/dev/vdb -direct=1 -iodepth=64 -thread=2 -rw=write -ioengine=libaio -bs=4m -size=1G -numjobs=10 -runtime=60 -group_reporting -name=write4m -output=nfswrite4m.log
# fio -filename=/dev/vdc -direct=1 -iodepth=64 -thread=2 -rw=write -ioengine=libaio -bs=4m -size=1G -numjobs=10 -runtime=60 -group_reporting -name=write4m -output=lvmwrite4m.log

4k随机写

# fio -filename=/dev/vdb -direct=1 -iodepth=64 -thread=2 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=10 -runtime=60 -group_reporting -name=randwrite4k -output=nfsrandwrite4k.log
# fio -filename=/dev/vdc -direct=1 -iodepth=64 -thread=2 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=10 -runtime=60 -group_reporting -name=randwrite4k -output=lvmrandwrite4k.log

4、测试结果如下
这里写图片描述

5、64k写测试:
命令如下:

# dd bs=64k count=4k if=/dev/zero of=test oflag=dsync这个可以当成是模拟数据库插入操作,所以很慢# dd bs=64k count=4k if=/dev/zero of=test conv=fsync这个还算准确,数据已经写入磁盘

这个很不准确的,因为命令结束的时候数据还没有真正写到磁盘上去

dd if=/dev/zero of=test bs=64k count=16k

测试结果:
这里写图片描述

6、结论:
1)、小文件的读,后端采用nfs,性能远远高于lvm。
2)、大文件的读,后端存储采用lvm和nfs,性能相当,nfs略高于lvm。
3)、在读方面cinder后端采用nfs性能优于lvm。
4)、在写方面cinder后端采用lvm性能优于nfs
5)、64k写lvm性能明显高于nfs

0 0
原创粉丝点击