2

我有一些小事务,我需要将它们同步到 java 程序中的 SSD 上的文件系统(ext4)。

如果我需要在每次事务后与文件系统同步,将这些事务顺序写入文件的最快方法是什么?每个事务的数据非常小,但如果这会增加事务/秒,则可以写入更多(例如填充一页)。

数据写入一次后,只能读取。

此外,是否对文件系统进行了任何调整以提高性能?是否有更适合该任务的稳定文件系统?

更新:这似乎是一个文件系统问题。使用同步时,Ext4 比 Ext3 慢得多?建议? 更新问题的解决方案是预分配文件(在 java _file.setLength(size) 中)。这将导致在 ext4 上预先分配空间并且将所有元数据写入一次。在此之后,写入文件将只编辑用户数据,元数据保持不变。在我的情况下,这导致了 10 倍的加速。

4

1 回答 1

3

使用Journal.IO怎么样?

Journal.IO 是一种零依赖、快速且易于使用的日志存储实现,基于仅附加的轮转日志和校验和可变长度记录,支持并发读写、动态批处理、可调持久性和数据压缩。

于 2012-10-24T07:59:25.843 回答