【发布时间】:2013-07-08 20:24:05
【问题描述】:
我正在使用 db4o 作为一个看起来像语义 wiki 的项目的后端。 我主要关心的是为什么性能这么低?
这里是上下文:
应用程序使用 openJdk6 和 db4o-v8.1。该模型大约有四个继承级别的二十个类,有可激活的集合、引用、uuid、索引等......
通过使用系统时间日志,我发现时间花在了对象操作部分。对于 30 次激活或更新,应用程序平均花费 1.1 秒(提交时不到 1Kb 的数据)。我已经检查了内存(转储),图中只有一小部分是负载(我的数据库大约是 20K 对象和 20Mb),正如透明激活所预期的那样。我几乎从不使用查询,总是使用关系激活。
我在同一台主机上使用客户端-服务器。 db-server 是我们可以在 db4o 网站上找到的示例。客户端-服务器会降低一些性能,但需要并发性。主机依赖于支持大约 300iops 的 fc 存储。
- 可以做些什么来提高性能,减少延迟?
- 我错过了什么吗?
- 有什么技巧我应该知道的吗?
【问题讨论】: