写入大文件时的性能问题?

Ash*_*ish 15 performance file-io logging file

我最近参与处理服务器的控制台日志,我很好奇,出于好奇,与小文件相比,写入大文件存在性能问题.

例如,保持日志文件大小不是让它们变得笨重是一个好主意,但我无法支持任何一种方法.

在阅读或搜索文件时可能会出现问题,但是现在我更想知道写作是否会受到任何影响.寻找专家意见.

编辑:我认为操作系统只需打开文件句柄并将数据推送到文件系统.与文件大小几乎没有关联,因为您必须继续将数据附加到文件末尾,并且每当数据块已满时,OS将为文件分配另一个块.正如我之前所说,由于文件块的碎片整理,在读取和搜索方面可能会出现问题,但在写入时我找不到多少差异.

MJZ*_*MJZ 11

作为一般规则,将块附加到小文件(或写入附加到零长度文件的第一个块)或将块附加到大文件之间应该没有实际区别.

有一些特殊情况(比如尝试在三重间接块中出错或初始打开必须读取所有映射信息),这可能会增加额外的I/O. 但稳态应该是一样的.

我更担心拥有大文件的可管理性:备份速度慢,复制速度慢,查看速度慢等.