gpt4 book ai didi

linux - 如何使操作系统以最佳方式安排磁盘访问?

转载 作者:太空狗 更新时间:2023-10-29 11:37:22 24 4
gpt4 key购买 nike

假设一个进程需要在很多(1000+)处访问文件系统,顺序对程序逻辑来说并不重要。但是,如果文件系统存储在(旋转的)硬盘上,顺序显然对性能很重要。

应用程序程序员如何与操作系统沟通,告知它应该以最佳方式安排访问?启动 1000+ 线程似乎不切实际。数据库管理软件是否可以做到这一点?如果可以,又是如何做到的?

其他详细信息:我有一个很大的 (1TB+) mmapped 文件,我需要在其中读取 1000 多个大约 1KB 的 block ,每次都是在新的、不可预测的地方。

最佳答案

在早期,像 Wikipedia: Hard disk drive performance characteristics → Seek time 这样的参数非常昂贵,因此非常重要,数据库供应商关注磁盘上的数据表示和布局,例如可以看到在 Oracle8i: Designing and Tuning for Performance → Tuning I/O .

重要的优化参数随着固态硬盘 (SSD) 的出现而改变,其中寻道时间为 0(或至少恒定),因为没有任何东西可以旋转。 Wikipedia: Solid-state drive (SSD) → optimized file systems 解决了一些新参数.

但即使是那些优化参数也会随着 Wikipedia: In-memory databases 的使用而消失。 . list of vendors很长,所有大玩家都在上面。

因此,如何最佳地安排您的访问在很大程度上取决于用例(1000 个并发命中不足以描述问题),购买一些 RAM 是一种选择,“程序员如何与操作系统通信”将是最后(不是第一个)问题之一

关于linux - 如何使操作系统以最佳方式安排磁盘访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26426224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com