我有一些小事务,需要同步到文件系统(ext4)到java程序中的SSD。
如果我需要在每个事务之后与文件系统同步,那么将这些事务顺序写入文件的最快方法是什么?每个事务的数据实际上很小,但是如果这样增加了事务/s,那么编写更多的数据(例如填充一个页面)是可以的。
数据写入一次后,只读取一次。
另外,是否对文件系统进行了任何调整以提高性能?是否有一个更适合该任务的稳定文件系统?
更新:,这似乎是一个文件系统问题。当使用同步时,Ext4比Ext3慢得多?建议?更新问题的解决方案是,预先分配文件(以java _file.setLength(大小)表示)。这将导致在ext4上预先分配空间,并且只写一次元数据。在此之后,写入文件只会编辑用户数据并保持元数据不变。在我的例子中,这导致了10因子的加速。
发布于 2012-10-24 07:59:25
使用Journal.IO怎么样?
Journal.IO是一个零依赖、快速和易于使用的日志存储实现,基于仅附加的旋转日志和校验求和可变长度记录,支持并发读写、动态批处理、可调持久性和数据压缩。
https://stackoverflow.com/questions/13043849
复制相似问题