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

Python 测试/检查Marklogic REST端点摄取的速度?,python,rest,marklogic,Python,Rest,Marklogic,嗨,外面的记录员们 我尝试使用REST端点将文档加载到Marklogic中 为了加快速度,我实现了一个多进程客户机,它将文档发布到默认的REST端点以接收文档。现在我遇到了一些需要研究的性能问题。接收的文档是geospacial kml类型的xml 我知道mlcp实际上是在ML中摄取数据的标准,但出于各种原因,我使用带有请求库的python客户机与ML对话 我有一个单线程解决方案,效果很好,但速度很慢 接收42000个文档大约需要7 1/2分钟 如果我在eclipse中的笔记本电脑上运行多处理变

嗨,外面的记录员们

我尝试使用REST端点将文档加载到Marklogic中

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

我知道mlcp实际上是在ML中摄取数据的标准,但出于各种原因,我使用带有请求库的python客户机与ML对话

我有一个单线程解决方案,效果很好,但速度很慢 接收42000个文档大约需要7 1/2分钟

如果我在eclipse中的笔记本电脑上运行多处理变体,需要3分钟,没有错误

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

Connection aborted. error 99 Cannot assign requested address
这似乎是一个低级套接字错误。Marklogic的日志中没有任何内容

ML与python脚本在同一台机器上(我的笔记本电脑sony vaio i7 8核8GBram SSD磁盘)

在另一台机器上,(dev server 4cores)脚本运行正常。 单线程10:55多线程(4核)3:18,因此有了显著的改进


问题:如何在Marklogic中测试/检查REST端点的接收速度?

我将从客户端和服务器上的操作系统级性能监视开始。查看磁盘、CPU或网络上是否存在明显的瓶颈。如果存在,您可能需要减少活动线程的数量以获得最佳性能


您可能用完了。

在命令行上运行多处理版本后,是否可以检查MarkLogic appserver端口的访问日志?这将告诉您是否正在建立连接。一个假设是,在笔记本电脑系统上,多线程加载程序打开连接的速度比连接返回池的速度快,因此连接耗尽。Eclipse可能会将速度减慢到池可以跟上的程度,而开发服务器可能会支持更多连接或更快地释放它们。如果诊断确认打开的连接数稳步增加,则可以查看节流是否有帮助。