首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS EBS中IO操作(IOP)的大小是多少?

AWS EBS中IO操作(IOP)的大小是多少?
EN

Server Fault用户
提问于 2014-11-16 21:56:33
回答 1查看 4.5K关注 0票数 5

我的研究表明,现代文件系统(ext4,xfs)的标准和最大(内核限制)块大小都是4KB。然而,AWS允许最大256作为的IO操作。和says

对于32 KB或更小的I/O操作,您应该看到所提供的IOPS的数量,前提是您正在驾驶足够的I/O来保持驱动器的忙碌。对于较小的I/O操作,您甚至可能会看到一个高于所提供的IOPS值(当在客户端测量时),这是因为客户机可能将多个较小的I/O操作合并成较小数量的大块。

Linux在哪里公开和/或允许“设备块大小”的配置?例如,在postgres中进行全表扫描(8KB块大小),在哪里可以看到和/或配置OS问题的"IO操作“大小?

EN

回答 1

Server Fault用户

发布于 2014-11-16 23:34:05

一个I/O操作的大小取决于许多事情。计算应用程序的平均值并不一定是个坏主意。

Amazon对它们的定义意味着它们的硬件支持256 of块。一个I/O操作是一个块的读或写。对一个操作跨越两个块的硬件的“未对齐”访问将导致两个I/O操作,即使软件和硬件块大小匹配。这就是为什么使用与硬件块大小相同的文件系统块的I/O性能非常有用,尽管这会降低存储效率,因为文件系统块是分配量。

文件系统中的块大小很大程度上取决于内存页的大小,因为读取会进入内存页。通常,在x86 Linux中,内存页是4kB;虽然内核可以映射更大的页面,但是在普通的4kB页面和巨大的4MB页面之间没有中间大小。所以,你不能在现代系统和硬件上对此进行真正的调整。

但是,通过防止碎片,文件系统可以尝试使所有的读和写都顺序地跨越几个块。EXT4通过在磁盘上稀疏分配文件来实现这一点,而不是在请求块时分配下一个空闲块;其他文件系统也有这样的策略。内核(文件系统和磁盘驱动程序)可以将跨越多个块的单个读取操作聚合为单个读取操作,如果这些块物理上是连续的,并且不跨越物理块边界。

磁盘驱动程序自动发现磁盘块大小;您无法调整它。你可以用blockdev --getpbsz /dev/xvda或什么东西阅读它。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/644790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档