Azure磁盘的吞吐量测试

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和磁盘限制的较小值。

时间: 2024-08-24 15:48:20

Azure磁盘的吞吐量测试的相关文章

使用iozone测试磁盘性能(测试文件读写)

IOzone是一个文件系统测试基准工具.可以测试不同的操作系统中文件系统的读写性能.可以通过 write, re-write, read, re-read, random read, random write, random mix, backwards read, record rewirte, strided read, fwrite, frewrite, fread, freread, mmap, async I/0 等不同的模式下的硬盘的性能.测试的时候请注意,设置的测试文件的大小一定要

利用netcat进行网络吞吐量测试

最近工作过程中遇到一个问题:在linux现有命令的基础上(封闭只读系统),如何需要对产品的wifi模块进行吞吐量测试? 在进行测试前,我首先看了一下当前系统拥有的命令以及搜索相关资料, 发现使用nc这个命令,配合dd的时候能够进行吞吐量测试(局域网). 使用这种方法测试的优点:免去嵌入新的软件.缺点:只能粗略测出上下行带宽(吞吐量) 工具准备 1.dd for windows 2.netcat (windows版) 测试设备上传速度 PC端: nc -lvvp [port] | dd of=NU

【Twitter Storm系列】Storm环境配置及吞吐量测试调优--个人理解

1.硬件配置信息 6台服务器,2个CPU,96G,6核,24线程 2.集群信息 Storm集群:1个nimbus,6个supervisor nimbus:192.168.7.127 supervisor: 192.168.7.128 192.168.7.129 192.168.7.130 192.168.7.131 192.168.7.132 192.168.7.133 Zookeeper集群: 3个节点 192.168.7.127:2181, 192.168.7.128:2181, 192.1

使用iperf进行设备吞吐量测试

工作中遇到一个问题,使用netcat 测试设备wifi吞吐量感觉非常吃力,遂使用iperf进行吞吐量测试. 前提 设备嵌入小linux系统,不可内部编译的情况下,静态编译iperf可方便测试使用. 工具准备 iperf for linux 2.0.9 (自行静态编译),置于SD卡中方便使用 iperf for windows 2.0.9(这个网上下载就好了) 上行吞吐量测试 PC端 iperf -s -u -i 1 -p [port] ※参数说明:-s 作为服务端  , -u 进行udp测试 ,

创建Azure磁盘快照

快照是 VHD 的完整只读副本.创建 OS 或数据磁盘 VHD 的快照作为备份,或用于解决 VM 问题.通过本文我们来了解下如何使用Azure门户创建Azure磁盘快照 登录到 Azure 门户.首先在左上角单击"创建资源"并搜索"快照" snapshot.如下图所示 点击创建 输入快照的"名称".选择现有的资源组,或键入新资源组的名称.选择 Azure 数据中心的位置.对于源磁盘,选择要获取其快照的托管磁盘.选择用于存储快照的"帐户类

RFC2544吞吐量测试详细步骤-Renix软件操作演示

关键词:RFC1242:RFC2544:吞吐量:吞吐率. 吞吐量概述: 吞吐量即吞吐率,这个词首先在RFC1242中被提出,是评估网络设备性能的首要指标,其定义是在设备没有丢帧的情况下的最大的转发速率,通常使用每秒钟通过的最大的数据包数(PPS/FPS)或者bit数来衡量(bit/s, Kbit/s, Mbit/s,Gbit/s-) ,测试公式为:速率 = 总长度/帧长度,简单来说,就是从源发送方,到目的接收方可传输的最大数据量.对于一个以太网系统,绝对的最大吞吐率应该等同于接口速率.而实际上,

linux下dd命令使用 磁盘性能测试 IO测试

/dev/null ?:在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),可以理解为linux中的黑洞文件,一般用于测试写入. /dev/zero ?:在类UNIX 操作系统中, /dev/zero 是一个特殊的文件,当你读它的时候,它会提供无限的空字符(NULL),可以无限读取.一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件.组合命令测试用时##date; dd if=/dev/zer

[io benchmark]常用磁盘基准/压力测试工具

Unix Disk I/O Benchmarks fio - NEW! fio is an I/O tool meant to be used both for benchmark and stress/hardware verification. It has support for 13 different types of I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, gua

使用iozone测试磁盘性能

IOzone是一个文件系统测试基准工具.可以测试不同的操作系统中文件系统的读写性能.可以通过 write, re-write, read, re-read, random read, random write, random mix, backwards read, record rewirte, strided read, fwrite, frewrite, fread, freread, mmap, async I/0 等不同的模式下的硬盘的性能.测试的时候请注意,设置的测试文件的大小一定要