在Linux上写IO分手?
|
我的应用程序使用O_DIRECT将价值2MB的数据直接刷新到3向条带化存储(作为lvm卷安装)。
我在此存储上的写入速度非常可悲。 iostat表明,较大的请求大小被分解为较小的请求。
avgrq-sz
<20 ...该驱动器上读取的内容很少。
清空大约2MB的连续内存块(使用mlock
以确保),扇区对齐(使用posix_memalign
)大约需要2秒,而使用dd
和iozone
进行的测试则认为存储空间的写入速度可大于20Mbps。
如果有任何线索可以进一步调查这个问题,我将不胜感激。
PS:如果这不是该查询的合适论坛,我希望能为您提供帮助的指标。
谢谢。
没有找到相关结果
已邀请:
1 个回复
醒荒捆府绣
和
是否正在使用
。如果不是这样,那么他们的I / O就会进入回写缓存,然后再流出来,内核可以以更优化的方式做到这一点。 注意:使用
并不是更快的条纹。在适当的情况下,如果您想达到最大的吞吐量,则ѭ8'可以降低开销,但仅要写入
做磁盘就增加了并行提交I / O的压力(例如,通过AIO /
或通过多个进程/线程),因为抢走了内核为您创建向设备并行提交的最佳方法。