Marklogic REST端点摄取的测试/检查速度?

问题描述:

喜Markloggers在那里,Marklogic REST端点摄取的测试/检查速度?

我尝试使用REST端点文件加载到Marklogic。

为了加快速度,我实现了一个多进程客户端,将文档发布到默认REST端点以接收文档。现在我碰到一些我需要调查的性能问题。摄入的文档是geospacial kml类型xml。

我知道这样的事实,mlcp是摄入ML中的数据的事实标准,但由于各种原因,我使用请求lib与py的客户端与ML交谈。

我有一个单线程的解决方案,工程很大,但速度很慢 摄入42000个文件大约需要7分30秒

如果我在我的笔记本电脑上运行的多变种在Eclipse需要3分钟,没有任何错误

如果我从命令行运行相同的脚本,它大约需要1分15秒,但我打在客户端以下错误:

Connection aborted. error 99 Cannot assign requested address 

这似乎低水平套接字错误。没有什么Marklogic的日志...

ML是在同一台机器的python脚本(我的笔记本电脑索尼VAIO i7的8个内核8GBram SSD磁盘)

在另一台机器上,(开发服务器4cores)脚本上运行良好。 单线程10:55多线程(4核)3:18如此显着的改进。

问题:如何测试/检查Marklogic中REST端点的摄取速度?

+0

可以在命令行上运行多处理版本后检查MarkLogic应用服务器端口的访问日志吗?这会告诉你你是否正在建立联系。 – 2014-10-17 11:06:06

+0

一个假设是,在笔记本电脑系统上,多线程加载程序比连接返回池更快地打开连接,因此连接不足。 Eclipse可能会放慢速度,直到池可以跟上的位置,并且dev服务器可能支持更多连接或更快地释放它们。如果诊断程序确认打开的连接数量稳步增加,则可以看到节流是否有帮助。 – ehennum 2014-10-17 16:23:57

我会从客户端和服务器上的OS级性能监视开始。看看磁盘,CPU或网络是否存在明显的瓶颈。如果有,您可能需要减少活动线程的数量以获得最佳性能。您可能会用完ephemeral ports