ceph简述
  ceph提供一种分布式存储,它可以为云主机提供弹性的存储空间。ceph的存储空间分为多个存储池(pools),如下图所示,云主机的系统盘、数据盘、系统快照、数据盘快照都存储在不同的pool中。其中系统盘和系统快照存储在一个pool中,数据盘和数据盘快照存储在一个pool中,数据盘存储在一个pool中。
  在ceph之前,云主机的存储后端为NBS,本次测试针对云主机存储后端由NBS切换为ceph后,相关业务场景的性能表现。


  本次测试的业务场景主要包括,虚拟机创建相关场景、数据卷创建并挂载、数据卷卸载、数据卷删除等场景。测试场景的设计主要包括以下几点:
  场景选取
  对于一般的性能测试而言,通常采用类似控制变量法的方式设计测试场景。例如衡量metadata服务性能测试时,影响metadata服务性能的因素包括nova api worker数、neutron api worker数和neutron server缓存三个因素。
  对服务性能的影响,常用的做法是根据实际情况,将两种变量固定为一个值,测试第三种因素在不同水平下该服务的性能表现,即该服务的TPS、响应时间以及正确率等。因此针对metadata服务的性能测试场景有三个每个场景对应一个测试变量。
  ceph性能测试场景相对简单,ceph性能测试是面向不同的API,不同的API对应不同的测试场景。
  相关参数的设置
  测试过程中每个测试场景会涉及一些参数的设置,例如创建虚拟机场景共包括两个测试点:
  1、创建不同规格的虚拟机;
  2、不同并发下创建虚拟机;
  其中测试创建不同规格虚拟机时需要确定创建哪些规格的虚拟机,不同并发下创建虚拟机需要明确创建虚拟机的规格。此外创建数据卷也包括数据卷的大小等具体参数。这些参数的设置需要依赖一定的BI数据。
  实际测试过程通常没有BI数据以供参考,测试人员需要根据运维人员提供的线上数据进行设置合理的参数,同时测试方案交由相应的开发人员review,对测试参数进行适当调整,从而更大程度的接近用户实际使用情况。