Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Linux如何处理并发磁盘IO?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_674_2@

概述

当 Linux服务器提供许多并发请求来读取许多不同的文件时,它是否: >寻找File_1,读取整个文件,然后寻找File_2,读取整个文件,然后寻找File_3等等 >寻找File_1,读取它的一部分(直到预读值?),然后寻找File_2,读取它的一部分,然后寻找它停止的File_1,阅读更多,然后寻找File_3等等等 如果这是第二种情况,那么服务器正在进行比必要更多的搜索,这将显着减慢速度.在
@H_674_2@
@H_674_2@ @H_674_2@
Linux服务器提供许多并发请求来读取许多不同的文件时,它是否:

>寻找File_1,读取整个文件,然后寻找File_2,然后寻找File_3等等
>寻找File_1,读取它的一部分(直到预读值?),读取它的一部分,然后寻找它停止的File_1,阅读更多,然后寻找File_3等等等

如果这是第二种情况,那么服务器正在进行比必要更多的搜索,这将显着减慢速度.在那种情况下,我可以做任何调整吗?

@H_674_2@

解决方法

在磁盘I / O中有一个叫做电梯的东西.磁盘子系统试图避免在整个磁盘上颠簸磁盘头.它将重新排序I / O请求(当没有例如通过屏障禁止时),以便磁头将从磁盘内部移动到外部,然后返回,在路上执行所请求的I / O.

第二件事是I / O请求合并.如果在短时间窗口内有许多请求访问文件的不同部分,I / O子系统将尝试一次性获取所有数据,而不是发出几个脱节请求.

就调整而言.如果您是应用程序编写者,那么您可以做很多事情.您可以随时发出大型顺序I / O,并使用fsync()et.al.当你需要确保数据在盘片上时.

如果您是一个系统管理员,并且您完全知道,2个应用程序的数据请求越来越大,并且他们尝试按顺序读取文件(例如,您有2个DVD并行转码),那么是的,增加预读应该会有所帮助.否则,在进行任何调整之前,您需要先查看I / O模式和大小,虑RAID级别(如果有)和其他因素.看看你真正的瓶颈是什么,在开始调整之前,可能很难猜测,究竟是什么限制了你的系统.

@H_674_2@ @H_674_2@@H_674_2@

大佬总结

以上是大佬教程为你收集整理的Linux如何处理并发磁盘IO?全部内容,希望文章能够帮你解决Linux如何处理并发磁盘IO?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。