【发布时间】:2014-04-06 20:07:22
【问题描述】:
我使用 JPA 编写了一个应用程序。该应用程序每秒在一个表上进行大约 5 或 6 次插入。插入是通过简单的 Transaction begin、persist 和 transaction commit 完成的。
使用这种方法,应用程序的 CPU 负载非常重(大约 80%)。我使用 JVisualVM 分析了应用程序并得出了以下结果:
这表明大约 30% 的时间用于写入和刷新到日志文件。
此外,setExclusive 方法有 14% 的时间负载。
有没有办法优化这个?也许禁用日志记录?
【问题讨论】:
-
这不仅仅是为了调试目的而写的信息日志,而是可能写一个事务日志。如果禁用此日志记录机制,您可能会收到损坏或不一致的数据。您可以尝试做的是使用某种批处理来减少交易量。所以“事务开始”多个持久操作,然后事务提交。
标签: java performance jpa derby