SQLServer在VMwarevSAN上的性能测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQLServer在VMwarevSAN上的性能测试
SQL Server在VMware vSAN上的性能测试
作为SQLServer商业智能的重要组成部分,数据仓库在超融合存储上的表现如何并没有太多相关性能数据,我们在本方案中针对该类型的负载进行了测试,为大家在全闪存架构Virtual SAN 运行数据仓库应用提供参考。
在本次测试中,我们通过Benchmark Factory for Database 生成类TPC-H工作负载来评估全闪存架构Virtual SAN 在数据仓库应用下的性能表现。
Virtual SAN 依靠全闪存的极致性能,确保能够向高带宽需求的数据仓库查询以及决策支持(Decision Support System,简称DSS)工作负载提供所需的存储性能。
测试介绍
我们在4节点的集群上运行两台SQL Server虚拟机,如图一所示。
类TPC-H 查询由BenchmarkFactory for Database生成。
类TPC-H查询是典型的数据仓库工作负载,其用于支持来自金融、市场、运营以及研究团队的大量用户查询。
数据仓库可以涉及更大的数据集请求,并大大受益于顺序磁盘扫描带来的总吞吐量增加。
图一数据仓库应用测试架构图
全闪存架构Virtual SAN具体配置
测试中我们采用4台双路ESXi主机,每台主机拥有两颗12核并可启用超线程的处理器,256GB DDR4内存,2块400GB的Intel SSD 作为缓存层以及8块400GB的Intel SSD作为容量层(即每台主机拥有两个磁盘组),网络配置基于万兆网络。
SQL Server数据库虚拟机配置
SQL Server 数据库虚拟机的操作系统版本为Windows Server 2012 R2 64 位数据中心版SP1,数据库版本为Microsoft SQL Server 2014 企业版SP1,在测试中,我们在4节点的集群上放置2台SQL
Server虚拟机。
每台虚拟机配置16块虚拟磁盘用于存放数据,1块虚拟磁盘用于存放在线日志。
使用Benchmark Factory for Database 在每台SQL Server 上使用Benchmark SCALE=200 生成数据库,最终每台SQL Server 虚拟机(包括数据库和索引在内)占用了480GB的存储空间。
此外,我们在内存权限中将分配给SQL Server实例的最大服务器内存锁定为200GB。
虚拟机的具体硬件配置如下:测试结果
在性能验证中,我们分别测试了Virtual SAN 仅运行一个数据库和同时运行两个数据库的性能状况。
下表列出了两个数据库的测试持续时间。
每个数据库运行一组查询(22条),每组查询都可以在27分钟内完成。
平均语句查询时间小于2分钟。
当一台数据库虚拟机运行类TPC-H 查询时,虚拟机平均CPU 利用率大约在21%,而当两台数据库虚拟机同时运行类TPC-H 查询时,虚拟机平均CPU 利用率为18%。
在以上所有测试中,我们在测试虚拟机上都采用默认的Virtual SAN 存储策略。
Virtual SAN性能
除了查询时间,我们还对VirtualSAN后端的峰值IOPS 与带宽性能进行了采集。
如图二所示,通过对比仅运行单个数据库与同时运行两个数据库的性能,我们发现最大IOPS 从24731 增加到50801,最大吞吐量从1423MB/s 增加到2662MB/s。
图二Virtual SAN 后端峰值IOPS 和吞吐量
此外,我们在Virtual SAN 后端还观察到,在同时运行两台数据库查询时,峰值读取延迟从运行一台数据库的4.1毫秒增加到两台数据库的6.4毫秒,而写入延迟从3.9毫秒增加到4.5毫秒,如图三所示。
之所以会有虚拟磁盘写入活动,是由于数据库需要处理查询连接的中间结果而引入的T empdb 数据库磁盘写入。
图三Virtual SAN后端的峰值读写延迟
考虑到数据仓库应用的实际使用,所有的测试结果都达到预期并且性能的增加几乎呈线性。
总结
数据仓库是商业智能广泛范畴的一部分,其包括关系型数据库,报表汇总以及数据挖掘。
典型的应用场景包括提供销售业务报表,营销业务报表,管理报表,企业业务流程管理以及商业预算预测,财务报告等。
针对海量数据的查询和报表生成对计算和存储都有很大的需求。
而基于全闪存架构Virtual SAN 能够完全应对其复杂业务查询需求:
全闪存架构Virtual SAN 集群可以向关键业务应用提供高带宽与低延迟的存储性能,并且在大数据集的横向扩展上具有出色的性能。
全闪存架构Virtual SAN 通过使用32块容量层SSD,可以向读取紧密型工作负载(例如两个480GB的数据仓库数据库)提供高达2.6GB每秒的吞吐量和超过5万的IOPS。
对比一台数据库,两台数据库虚拟机可以获得几乎两倍的带宽性能。
在27分钟的测试持续时间内,性能增长几乎呈线性。
Virtual SAN后端延迟出色,读取延迟小于7毫秒,而所有查询的延迟小于5毫秒。
下面类TPC-H性能表现的文章里的几个部分需要重点提示一下:
1、数据库大小总和(960GB)超过了缓存层SSD的大小总和(800GB*0.93=744GB)。
2、同时运行两个数据库的性能,最大IOPS 从24731 增加到50801,最大吞吐量从1423MB/s 增加到2662MB/s。
峰值读取延迟从运行一台数据库的4.1毫秒增加到两台数据库的6.4毫秒,而写入延迟从3.9毫秒增加到4.5毫秒。
延迟不高,都在可接受的范围之内。