disk - 随机磁盘写入

标签 disk

我需要对文件执行随机更新。让我需要更新偏移量 k1、k2、....、kn 处的文件。从性能的角度来看,如果我按任何顺序写入是否重要,或者如果我按偏移量的递增顺序写入,性能会提高吗?更具体地说,我将在 RAM 中缓冲一堆更新,然后进行更新。因此,当我准备好将更新刷新到磁盘时,我知道我需要写入的偏移量。

最佳答案

在处理旋转磁盘上的大文件时,将硬盘驱动器的磁头从一个柱面移动到另一个柱面是最大的性能 killer 。头部移动得越远,影响就越大。

按顺序进行写入。这将导致(至少从统计学上讲)一个柱面上的所有扇区一起写入(不移动磁头),然后磁头移动到相邻的柱面(可能的最短磁头移动)。

请注意,如果您正在处理具有多个支持物理磁盘(例如 RAID、NAS)的逻辑磁盘,则通过使用更多磁盘可以在一定程度上缓解寻头问题,但除非您对从逻辑扇区到物理存储,按扇区顺序进行更新仍然最有可能最大限度地减少磁头移动。

关于disk - 随机磁盘写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6959580/

相关文章:

mysql - 磁盘 IO 与 PHP 中的 MySQL 查询

linux - 发生大量磁盘事件时如何使 Linux GUI "usable"

java - 如何在文件管理器中隐藏系统保护的文件

operating-system - SCAN和CSCAN算法

c++ - 我如何检索连接到服务器的硬盘信息?示例 C/C 代码?

multithreading - 哪些Qt类直接使用磁盘?

linux - 在 Linux 中不关机重新枚举和使用 PCIe SSD

docker - 带有 Docker 的 CentOS 上没有空间

azure - 将文件传输到 Azure 虚拟机的最佳方式是什么?