超融合架构

vSAN 性能测试和分析

评估系统性能是 IT 运维团队的一项重要工作,尤其是在应用立项阶段,业务部门提出的性能要求会分配到应用、IT 基础架构等各个部门,由各个团队评估可行性和技术方案。作为 IT 基础架构中的一个重要组成部分,基于 vSAN 的超融合系统应该如何来进行性能评估呢?另一个典型的应用场景是应用性能优化,确定整个应用系统的性能瓶颈到底落在哪一个环节,IT 运维团队必须有能力来判断底层的基础架构是否达到了相应的性能指标。在这种情况下,运维团队也需要一些基于性能测试的数据来证明底层架构是否需要进一步提升性能。

vSAN  性能测试和分析工具

从版本 6.6.1  开始,vSAN 就自带了性能测试和分析功能,无需设计测试方案和工具,就可以快速地完成存储性能的评估工作。vSAN 会自动地运行指定的测试并收集测试数据,并把它上传到 vSAN Cloud Analyst 的云端进行分析,并把分析的结果在 vSAN 管理控制台 (web client) 上展现出来。因为需要上传数据到云端,使用这一功能之前用户需要同意参加客户体验改进计划 CEIP (Customer Experience Improvement Program)。

vSAN 的性能测试主要利用了性能测试工具 HCIBench 的功能,如果客户环境没有联网或或因为合规原因无法上传测试数据的话,也可以改用 HCIBench 来做测试,当然测试过程就会复杂一些。

下面给大家看一段 vSAN 性能测试和分析功能的演示视频 (提示:请选择视频下方的“高清 720P”选项来观看)。

1) 启动 Performance Service 服务

在使用 vSAN 的性能测试功能之前,首先要启动 Performance Service,这是一个运行于 vSAN 之上的数据库服务,用于收集和存储性能测试过程中产生的各种数据。

2) 选择并运行测试

vSAN 针对典型的应用场景,设计了各种测试工作负载,如压力测试 (Stress test)、专门针对读写缓存使用场景的工作负载等等。所以在测试开始之前,管理员首先选择需要运行的测试和测试需要运行的时间 (在我们的演示中是10分钟)

3) 对测试结果进行分析

测试结束之后我们可以让 vSAN 来对测试结果进行分析 (Performance Diagnostics),vSAN 会把测试的结果上传到 vSAN Cloud Analyst 的云端进行分析,管理员可以指定具体的性能目标 (Benchmark Goal) 来进行分析整个超融合统的性能是否达标:

  • 最大 IOPS (Input/Output Operations Per Second)
  • 最大吞吐量 (Throughput)
  • 最小延迟 (Latency)

针对发现的问题 vSAN  会给你列出一组建议,并且有一个 “Ask VMware” 的链接链接到相关的知识库文章。下面是演示中发现的两个问题,以及相关知识库文章链接:

  • One or more disk group(s) are not in active use (http://kb.vmware.com/kb/2150014)
    此问题意味着,指定的磁盘组在评估持续时间的一段时间内没有 IO,这会影响 vSAN 群集的最大性能。要实现“最大 IOPS”和“最大吞吐量”目标,需要来自每个磁盘组的 IO 活动。
  • The size of IOs may not be optimal to achieve the desired goal (http://kb.vmware.com/kb/2150019)
    此问题意味着,对于指定的性能目标,IO 大小过小或过大。IO 大小应该足够小(最好为 4K)才能实现最小延迟和最大 IOPS 的目标。

HCIBench 测试工具

HCIBench 是由 vSAN 上海研发团队的工程师开发的,HCIBench 的全称是 “Hyper-converged Infrastructure Benchmark”,是专门针对超融合系统的性能测试工具。它以 Virtual Appliance (OVA 格式) 的形式交付,其中包含了一个测试控制虚机和一个测试虚机模板,测试开始后会在 vSAN 集群中利模板生成很多测试虚机来模拟各种工作负载,从而达到测试性能的目的。

HCIBench 是以 Fling 的形式免费提供给用户的,感兴趣的用户可以通过网址 https://labs.vmware.com/flings/hcibench 下载 HCIBench 工具。顺带科普一下:Fling 是由 VMware 的工程师在空闲时间开发的一些项目,Fling 都是可以免费使用的,但是不是正式的产品。目前在 Fling 的官网 https://labs.vmware.com/flings 上已经有 100 多个 Fling 存在,大部分都是非常有用的工具,能够帮助你解决一些正式产品忽略的问题。