解读分布式对象存储系统Sheepdog性能测试

发表于:2014-7-11 11:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:若羽    来源:51Testing软件测试网采编

  Sheepdog是一个分布式对象存储系统,专为虚拟机提供块存储,号称无单点、零配置、可线性扩展(省略更多优点介绍)。本文主要关注其性能究竟如何,测试版本为目前的最新稳定版0.7.4。
  测试环境
  节点数量:6个
  磁盘:各节点都配备7200转SATA硬盘,型号WDC WD10EZEX-22RKKA0,容量为1TB,另外测试节点(即用于启动虚拟客户机的宿主机)多配置一块SSD硬盘,型号INTEL SSDSA2CW300G3,容量为300GB
  网络:测试节点配备PCI-E双千兆网卡,通过bonding进行负载均衡
  文件系统:ext4fs,挂载参数:rw,noatime,barrier=0,user_xattr,data=writeback
  sheepdog集群
  可用空间:6个节点各分配100GB,总共600GB
  对象副本数量:3个,客户机实际最大可用空间为200GB,接近项目规划的容量
  对象缓存:使用SSD硬盘,分配256GB,可完全缓存客户机文件系统,随测试项目需要挂载或卸载
  虚拟客户机
  资源:4GB内存,4个逻辑CPU
  使用qemu 1.7启动,支持KVM加速、virtio
  两大测试项目
  IOPS:主要考察较小数据块随机读和写的能力,测试工具fio(sudo apt-get install fio),测试文件固定为150GB
  吞吐量:主要考察较大数据块顺序读或者写的能力,测试工具iozone(sudo apt-get install iozone3),测试文件从64MB倍数递增到4GB,如没有特别说明,测试结果取自操作512MB的数据文件
  除特别说明,qemu启动虚拟客户机命令如下:
  qemu-system-x86_64 --enable-kvm -m 4096 -smp 4 -drive file=sheepdog:mint,if=virtio,index=0 \ -drive file=sheepdog:data,if=virtio,index=1 -net nic,model=virtio -net user -vnc :1 -daemonize
  IOPS测试
  测试须知
  关于SATA硬盘的IOPS
  测试用的普通7200转SATA硬盘,官方公布其平均寻道时间10.5毫秒,所以,根据以下公式,理论上的IOPS值最多只有65。
  实测结果,在单线程同步IO的情况下(下图深蓝线),也是65,在多任务(紫线)或者使用异步IO(黄线)的情况下,由于操作系统IO调度,IOPS能够达到80到100之间。如果进行读写操作的文件远远小于SATA磁盘大小,缩小了存储单元寻址范围,减少了全磁盘寻道时间,也能提高IOPS,例如,测试文件大小占磁盘大小的1/8的时候,IOPS最高在90左右(浅蓝线)。
  关于SSD硬盘的IOPS
  测试用的SSD硬盘,在单线程同步IO的情况下,IOPS最多能够达到9000左右(下图深蓝线),在多任务(紫线)或者异步IO(黄线)的情况下,最多能够达到40000-50000之间。由于构造原理不同于传统磁盘,减小测试文件大小并不能明显提高IOPS。
  关于读写比例
  由于大多数业务场景既有读操作,也有写操作,而且一般读操作比写操作多很多,因此,读写混合测试项目中的读写比例设定为4:1。一般业务很少有完全随机写的情况,因此不进行只写测试。
31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号