电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > WPS文档下载
分享到微信 分享到微博 分享到QQ空间

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

  • 资源ID:189863930       资源大小:157KB        全文页数:9页
  • 资源格式: WPS        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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

分布式对象存储系统分布式对象存储系统 Sheepdog 性能测试性能测试 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 启动虚拟客户机命令如下: 1 2 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。一般业务很少有完全随机写的情况,因此不进 行只写测试。 关于电梯算法 虚拟的客户机操作系统的 IO 调度算法使用 noop,网上有资料能够提高 IOPS,但是实测效 果不明显,因此最终报告并没有把它单列出来。 IOPS 测试 1:不使用对象缓存,只读测试 单线程同步 IO 的情况下(下图深蓝线) ,sheepdog 的 IOPS 差不多达到 100,比单节点单 SATA 硬盘高,究其原因:客户机中的测试文件为 150GB,共有三个副本,即共占 450GB,集群有 6 个节点,平均每个节点 75GB,而各个节点所在磁盘容量为 1TB,仅占 其 1/13,因此,无其它 IO 任务的情况下,IOPS 会比全磁盘随机操作高。 减少客户机的测试文件大小为原来的 1/8,即 19GB,IOPS 能够达到 130-140 左右,验证了 无其它 IO 任务的情况下,测试文件越小,IOPS 越高(浅蓝线) 。 恢复客户机的测试文件为 150GB,在多任务(线程数量为 10,紫线)或者异步 IO(队列 深度为 10,黄线)的情况下,IOPS 可达 230-250。 250 左右是否该 sheepdog 集群的极限?进一步换其它 numjob 和 iodepth 的组合进行测试, 答案是肯定的,测试结果都在 250 左右,以下是线程数量为 8,异步 IO 队列深度分别为 1、4、16、64、256 的测试结果,线程数量增加到 16,测试数据并没有提高。 IOPS 测试 2:使用对象缓存,只读测试 单线程同步 IO、使用对象缓存且缓存命中率 100%的情况下(下图蓝线) ,sheepdog 的 IOPS 最高可达 6000,对比相同条件下 SSD 硬盘的测试结果(最高 9000) ,还是有些损耗。 通过多任务(紫线)或者异步 IO(黄线)的方式提高并发 IO 数量,在缓存命中率 100%的 情况下,IOPS 可以提高到 40000-50000,基本与相同条件下 SSD 硬盘的测试结果相当。 注意上图为对数刻度,且没有数据值,很难比较数值大小,下图省略了一半数据块,但是 标上了数据值。 之所以强调缓存命中率,是因为在不完全命中缓存的时候,IOPS 下降很厉害,低于 80%的 话,可能还不如没有对象缓存。下图是 sheepdog 对象缓存命中率与 IOPS 的关系图,其中, 测试的数据块大小从 512B 倍数递增到 512KB,缓存命中率是在测试过程中,根据 sheepdog 的 cache 目录中已有的对象文件数量估算的平均值,IOPS 值是读取数据块操作在 估算的缓存命中率条件下测量的平均值。 50000 是否该 sheepdog 集群的极限?仿照上面的方法进行测试,答案也是肯定的,测试结 果都在 50000 以内,以下是线程数量为 8,异步 IO 队列深度分别为 1、4、16、64、256 的 测试结果,线程数量增加到 16,测试数据并没有提高。 IOPS 测试 3:不使用对象缓存,读写混合测试 读写混合测试的 IOPS 比只读测试的结果,总的来说要低一些,而且起伏较大,需要多次 测试计算其平均值。 单线程同步 IO 的情况下(下图深蓝线) ,能够达到 80-100。 减少客户机的测试文件大小为原来的 1/8,即 19GB,IOPS 能够达到 100-120(浅蓝线) 。 恢复客户机的测试文件为 150GB,在多任务(线程数量为 10,紫线)或者异步 IO(队列 深度为 10,黄线)的情况下,IOPS 大多在 180-250 之间,但也有时候只到 160 左右。 IOPS 测试 4:使用对象缓存,读写混合测试 单线程同步 IO、使用对象缓存且缓存命中率 100%的情况下,IOPS 差不多达到 4000。 通过多任务或者异步 IO 的方式提高并发 IO 数量,在缓存命中率 100%的情况下,IOPS 可 达 10000-20000 之间。 注意上图为对数刻度,且没有数据值,下图省略了一半数据块,但是标上了数据值。可以 看到,大数据块读写混合的情况下,多任务或异步 IO 的 IOPS 可能还不如单任务同步 IO 吞吐量测试 测试须知 关于 SATA 硬盘的吞吐量 普通 7200 转 SATA 硬盘的吞吐量数据,对比一下后面 SSD 硬盘的吞吐量数据,说明传统 磁盘顺序读写的能力还是相当出色的。 关于 SSD 硬盘的吞吐量 大数据块(512KB 以上)顺序读,吞吐量可达 250MB/s-270MB/s,顺序写,吞吐量可达 200MB/s-210MB/s。 小数据块(16KB)顺序读,吞吐量也有 140MB/s,顺序写大概 120MB/s-130MB/s。 无优化 sheepdog 的吞吐量 在软硬件不做任何优化的情况下(不绑定双网卡、不使用 virtio、以默认参数启动 sheepdog) ,sheepdog 的吞吐量数据比较低: 顺序写 数据块大小为 16KB,吞吐量 13-14MB/s 数据块大小在 256KB-4MB 之间,吞吐量 30-35MB/s 顺序读 数据块大小为 16KB,吞吐量 25MB/s 左右,如果数据文件大小超过可用内存,降 低到 20MB/s 数据块大小在 512KB-4MB 之间,吞吐量 125-140MB/s,如果数据文件大小超过 可用内存,降低到 80MB/s 以下 以下两图,上图为数据文件 512MB 的测试数据,下图为数据文件 4GB 的测试数据 注,不使用 virtio 方式启动 sheepdog 的命令行参数为: 1 2 qemu-system-x86_64 -enable-kvm -m 4096 -smp 4 -drive file=sheepdog:mint,index=0 -drive file=sheepdog:data,index=1 -vnc :1 -daemonize 吞吐量测试 1:不使用对象缓存 从测试结果看,使用 virtio 方式启动客户机有利有弊: 提高了中小数据块读写操作的吞吐量 当数据块大小在 16KB-512KB 之间时,顺序读的吞吐量提高 10MB/s-30MB/s 不等 当数据块大小在 16KB-256KB 之间时,顺序写的吞吐量提高 5MB/s-8MB/s 不等 大大降低了超大数据块读操作的吞吐量,至于为何 virtio 在这种情况下会降低测试的 吞吐量,尚不清楚 当数据块大小达到 2MB 或者 4MB 时,顺序读的吞吐量降低 80MB/s-90MB/s 以下两图,上图为 512MB 下的测试数据,下图为该情况下,与无优化 sheepdog 读写 512MB 数据文件两者吞吐量之差。 吞吐量测试 2:使用对象缓存 使用了对象缓存,顺序读写的吞吐量与数据文件大小没有直接关系,即使数据文件大小超 过可用内存。 同时也使用了 virtio,并没有因此降低读取大数据块的吞吐量。 由于 SSD 硬盘的特点,数据块越大,吞吐量越高,在数据块大小为 4MB 的情况下,顺序 读的吞吐量可达 240MB/s,顺序写也有 130MB/s;如果数据块大小只有 16KB,顺序读和 顺序写的吞吐量分别只有 55MB/s 和 35MB/s。 总结 sheepdog 性能 对象缓存 IOPS 吞吐量(MB/s) 无 只读 250,读写混合(4:1)200 数据块 512KB,顺序读 150,顺序写 35 有 只读 45000,读写混合(4:1)16000 数据块 512KB,顺序读 175,顺序写 105;数据 块 4MB,顺序读 240,顺序写 130 以上为 sheepdog 集群节点数为 6 个,且各节点都只挂载一块 SATA 硬盘的情况下测得的结 果,如果增加集群节点数,并且每个节点都挂满硬盘,IOPS 应该会更高,而吞吐量取决于 缓存和网络带宽,应该不会有明显变化

注意事项

本文(分布式对象存储系统Sheepdog性能测试)为本站会员(添***)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.