【发布时间】:2015-02-20 18:22:29
【问题描述】:
我们的多线程 Java 应用程序正在使用 Java XCC 库。在状态选项卡下的 MarkLogic 管理控制台上,只有 2 个线程在应用程序运行时显示为活动的,这是我们项目中最可能的瓶颈原因。请指教这里有什么问题?
【问题讨论】:
我们的多线程 Java 应用程序正在使用 Java XCC 库。在状态选项卡下的 MarkLogic 管理控制台上,只有 2 个线程在应用程序运行时显示为活动的,这是我们项目中最可能的瓶颈原因。请指教这里有什么问题?
【问题讨论】:
要有效地并行运行 xcc 请求,您需要确保为每个线程使用单独的会话。看: https://docs.marklogic.com/javadoc/xcc/com/marklogic/xcc/Session.html
只有 2 个活动线程在运行并不一定表示存在问题,您的请求可能在您发出请求并读取响应时得到处理。如果您的查询足够快,则不需要更多线程。如果没有关于您的查询、响应时间和服务器负载的更多信息,就无法判断是否存在瓶颈。你正在运行多少个线程?在增加线程时比较响应时间。检查您是否有足够的网络 IO,以便您的请求不会在网络层出现瓶颈。
我建议分析您的查询并使用性能历史记录控制台查看服务器是否以高利用率运行。尝试增加客户端线程的数量,可能从不同的服务器运行它们。
【讨论】: