Azure的高级存储具有吞吐量大,延迟低的特点,非常适合时间关键型的应用程序(如SQL Server, Oracle, Redis等)。
但高级存储同时具有价格高的特点,用户往往对其实际的性能数据较为关注。
本文将实际测试Azure的标准存储和高级存储的吞吐量情况并对测试结果进行分析
开始测试前,先解释几个概念:
延迟是指磁盘检索请求的信息并将其发送回应用程序所花的时间。
IOPS 是指应用程序在一秒内发送到存储磁盘的请求数。
吞吐量或带宽是指应用程序在一秒内从磁盘读取或写入的数据量。
吞吐量和 IOPS 之间存在一个关系,如以下公式所示:
如果你使用的应用程序允许你更改 IO Size,则可使用以下这条法则来调整性能:
- 通过降低 IO Size来提高 IOPS。例如,对 OLTP 应用程序使用 8 KB 的 IO Size。
- 通过提高 IO Size来提高带宽/吞吐量。例如,对数据仓库应用程序使用 1024 KB 的 IO Szie。
一个磁盘的最大IOPS是在其IO Size最小时(一般为8KB)测出的,反之,其最大吞吐量是在IO Size最大时(一般为1024KB)测出来的。
开展测试
1. 虚拟机情况:Standard DS3
2. 添加128G的标准存储:
3. 添加512G的高级存储:
4.使用hdparm对以上两种存储进行吞吐量测试:
(/dev/sdc为标准存储,/dev/sdd为高级存储)
5. 测试结论:
从以上测试,我们可以看到Azure标准存储的吞吐量达到63.23MB/s,超过其设定的吞吐量阈值(60MB/s)
但高级存储的吞吐量为125.12MB/s,离其设定的吞吐量阈值(150MB/s)有一定的距离
6. 测试结果分析:
从标准存储的测试结果来看,hdparm是能够测试出存储的最大吞吐量的,因此不存在测试工具的问题。
那么为什么最大吞吐量为150MB/s的高级存储,其测试结果仅为125.12MB/s 呢? 哪里出问题了?
原来磁盘的吞吐量测试不仅受到磁盘本身性能的影响,也受到虚拟机的影响。当虚拟机性能成为瓶颈时,
磁盘的最大性能也无法发挥出来。
根据Azure虚拟机大小的官方说明,Standard DS3的虚拟机支持的最大吞吐量为128MB/s。
因此我们的测试结果125.12MB/s是合理的,体现的是Standard DS3 虚拟机的最大吞吐量。
7. 验证
为了更进一步验证,我创建了一台Standard DS4的虚拟机,其最大吞吐量高达256MB/s
添加一样的最大吞吐量为150MB/s的高级存储
此时测试结果显示,高级存储的最大吞吐量为147.50MB/s。虚拟机不再成为性能的瓶颈
8. 总结
存储吞吐量的测试结果取决于VM和磁盘限制的较小值。
Azure磁盘的吞吐量测试的更多相关文章
-
如何对Azure磁盘性能进行测试
Azure的云存储一直是Azure比较自豪的东西,想到AWS的LSA后面有若干个9,搞得大家都以为它的存储最优秀,其实不然,Azure存储到现在没有丢过客户1bit的数据,但是Azure不会去说我们的 ...
-
使用 PowerShell 管理 Azure 磁盘
Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...
-
使用 Azure CLI 管理 Azure 磁盘
Azure 虚拟机使用磁盘来存储 VM 操作系统.应用程序和数据. 创建 VM 时,请务必选择适用于所需工作负荷的磁盘大小和配置. 本教程介绍如何部署和管理 VM 磁盘. 学习内容: OS 磁盘和临时 ...
-
Azure disk iops的测试
在Public Cloud中,VM.Storage和Network是IaaS的三大基础.本文将介绍在Azure的VM上测试磁盘IOPS的工具和方法. 一.添加磁盘.初始化磁盘 1.添加磁盘 把相应的信 ...
-
使用iozone测试磁盘性能(测试文件读写)
IOzone是一个文件系统测试基准工具.可以测试不同的操作系统中文件系统的读写性能.可以通过 write, re-write, read, re-read, random read, random w ...
-
Kafka吞吐量测试案例
Kafka吞吐量测试案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 领英公司参考连接:https://www.slideshare.net/JiangjieQin/produc ...
-
RabbitMQ吞吐量测试-PerfTest上
RabbitMQ吞吐量测试-PerfTest上 PerfTest RabbitMQ有一个基本的吞吐量测试工具PerfTest(文档,源代码和版本),它基于Java客户端,可以配置为模拟基本工作负载.P ...
-
RFC2544吞吐量测试详细步骤-MiniSMB-HurricaneII软件操作演示
RFC2544吞吐量测试详细步骤-MiniSMB-HurricaneII软件操作演示 关键词:网络性能测试:RFC2544:吞吐量:吞吐率. RFC2544协议是RFC组织提出的用于评测网络互联设备( ...
-
『动善时』JMeter基础 — 60、固定吞吐量测试
目录 1.定时器介绍 2.固定吞吐量定时器介绍 3.固定吞吐量定时器界面说明 4.固定吞吐量定时器的使用 (1)测试计划内包含的元件 (2)登陆请求内容 (3)固定吞吐量定时器内容 (4)线程组元件内 ...
随机推荐
-
【BZOJ 1013】【JSOI2008】球形空间产生器sphere 高斯消元基础题
最基础的高斯消元了,然而我把j打成i连WA连跪,考场上再犯这种错误就真的得滚粗了. #include<cmath> #include<cstdio> #include<c ...
-
QT是否流行还是和历史有关啊(各个平台不同时间的方案都讲到了)
这个还是和历史有关啊..现在基于Qt的桌面软件越来越多的...许多GTK的也在向Qt迁移..可以说在XP时代,微软自己有一套MFC,和成熟的vs系列开发工具..而Qt-Creator是09左右才有项目 ...
-
Zepto Api参考
zepto API参考 简介 Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. 设计目的 ze ...
-
湖南省第八届大学生程序设计大赛原题 D - 平方根大搜索 UVA 12505 - Searching in sqrt(n)
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=30746#problem/D D - 平方根大搜索 UVA12505 - Searchin ...
-
插件 - 提示窗体(ArtDialog)
效果: 代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default. ...
-
OR1200中指令Cache的结构
下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 12.3 ICache结构 OR1200中实现ICache的文件有or1200_ic_top.v.or1200_ic_fsm.v.o ...
-
centos7.6环境下编译安装tengine-2.2.2的编译安装
centos7.6环境下编译安装tengine-2.2.2的编译安装 .获取tengine2..2的源码包 http://tengine.taobao.org/download/tengine-2.2 ...
-
PPT领取 | 70+数据科学、架构演进等最佳实践限时放送
上世纪1950年人工智能被提出,直至2016年AlphaGo战胜世界围棋冠军李世石后,人工智能迅速引起了全球的瞩目,并推动起全球科技的浪潮.自动驾驶.人脸识别.语音交互技术等“一拥而上”,众多AI科技 ...
-
处理器 趣事 CPU/GPU/TPU/DPU/BPU
有消息称,阿里巴巴达摩院正在研发一款神经网络芯片——Ali-NPU,主要运用于图像视频分析.机器学习等AI推理计算.按照设计,这款芯片性能将是目前市面上主流CPU.GPU架构AI芯片的10倍,而制造成 ...
-
第四篇、Python文件处理
1.文件操作 1) 文件操作流程 a. 打开文件,得到文件句柄并赋值给一个变量 b. 通过句柄对文件进行操作 c. 关闭文件 f=open('a.txt','r',encoding='utf-8') ...