【问题标题】:Whats the fastest way to write a journal to an SSD in Java? [closed]用 Java 将日志写入 SSD 的最快方法是什么? [关闭]
【发布时间】:2012-10-24 06:15:32
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 阅读了我的 sqlalchemy 使用的一些设计模式。这是 python 的东西,但我认为你会发现文档有用。
  • 你有这些模式的链接吗?

标签: java performance solid-state-drive ext4


【解决方案1】:

Journal.IO怎么样?

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

【讨论】:

    猜你喜欢
    • 2015-01-29
    • 2011-04-25
    • 2011-06-17
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 2020-01-17
    • 2016-04-23
    • 1970-01-01
    相关资源
    最近更新 更多