选择I/O尺寸

本文探讨了如何通过调整I/O尺寸来提高应用程序的吞吐量,指出更大的I/O尺寸能减少固定开销,但可能不适合所有场景。过大尺寸可能导致额外的延迟和缓存浪费。同时,介绍了不同I/O调度算法如noop、deadline和cfq,并提供了临时与永久更改调度算法的方法。
摘要由CSDN通过智能技术生成

    执行I/O的开销包括初始化缓冲区、系统调用、上下文切换、分赔内核元数据、检查进程权限和限制、映射地址到设备、执行内核和驱动代码来执行I/O,以及在最后释放元数据和缓冲区。

     增加I/O尺寸是应用程序提高吞吐量的常用策略。考虑到每次I/O的固定开销,一次I/O传输128KB要比128次传输1KB高效很多,尤其是磁盘I/O,由于寻道时间,每次I/O开销都较高。

    如果应用程序不需要,更大的I/O尺寸也会带来负面效应。一个执行8KB随机读取的数据库按128KBI/O的尺寸运行会慢很多,应为120KB的数据传输能力被浪费了。选择小一些的I/O尺寸更贴近应用程序所需,能降低引起的I/O延迟。不必要的大尺寸I/O还会浪费缓存空间。

 

指定I/O尺寸方法

mkfs.ext4 -b 2048 -i 256 /dev/sdb

-b 指定block大小单位字节

-i 指定"字节/inode"的比例

 

查看现有文件系统类型

df -TH

 

查看Block大小

dumpe2fs /dev/vda1|grep "Block size"

这两个命令也可以查看Ionde数量和剩余

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值