在Marklogic中启用CPF

时间:2013-01-09 16:44:53

标签: marklogic

我想了解在Marklogic 4.2.9服务器上启用CPF - 内容处理框架的影响。 我们有一个大小为3TB的生产数据库,我们正在研究各种内容丰富和内容删除任务,这些任务需要执行几个操作。 我曾在以前的项目中创建过CFP管道,但在我目前的项目中,DB目前已经使用了CPF。我想要了解的是, 当/如果我们在此数据库上启用CPF,将会产生什么影响 1. Marklogic内存使用情况 2.磁盘空间 3.表现超过所有人 4. IO等 我们尝试创建的管道将影响数据库中存在的所有/任何文档。

感谢您的帮助!!!

2 个答案:

答案 0 :(得分:3)

我认为@mblakele很好地涵盖了对内存和磁盘的影响。但我想补充一点关于CPF如何运作的话。这可能有助于性能如何受到CPF的影响。

CPF依赖于MarkLogic的触发机制。任何文档插入,更新和删除都会激活初始状态转换的CPF处理。每个操作都会导致其他状态转换。每个状态转换都涉及执行提交后触发器,调用一些CPF内部代码执行xdmp:调用实际操作模块。因此,如果您有一个插入100个文档的事务,这会导致100个提交后任务在任务服务器队列中排队等待启动器。而且我担心xdmp:invokes导致另外100个任务排队。如果文档平均遍历三种状态,那么这个数字至少会增加三倍。

换句话说,CPF对任务服务器队列有很大影响。实际影响性能的范围可能取决于您已经使用任务服务器的程度。任务服务器上的任何非CPF任务都将被CPF任务延迟。另一方面,如果你现在还没有真正使用任务服务器,你可能不会注意到这一点。应用服务器请求在应用服务器队列上运行,该队列将单独处理。

另一件事是CPF单独处理文件。这是缓慢和弹性背景处理的理想选择。但是如果你需要速度,最好为批量文档创建交易。

HTH!

答案 1 :(得分:2)

如果您已启用maintain-last-modified,则对内存和磁盘空间的影响将会很小。如果maintain-last-modified被禁用,CPF将在触摸文档时创建新的属性片段。从这里你可以使用额外的内存和磁盘空间,可能每个文件大约100-B内存和1-kB磁盘空间。额外的片段也可能对I / O和整体性能产生影响,但预测其范围需要更深入地了解应用程序及其查询。