Java 最后一个Solr请求需要很多时间
我在Solr 4.0测试版中遇到问题行为 我有一个应用程序通过Java 最后一个Solr请求需要很多时间,java,solr,solrj,Java,Solr,Solrj,我在Solr 4.0测试版中遇到问题行为 我有一个应用程序通过solrj向我的Solr服务器发送了一些并行请求。一切都很好,响应时间也很好,但是有时候,一个请求需要很多时间 大多数结果都缓存在Solr中,因此在我的应用程序中观察运行时间和实际Solr响应时间时,我看到: resquest1: solr: 1ms, elapsed: 150ms resquest2: solr: 0ms, elapsed: 160ms resquest3: solr: 3ms, elapsed: 100ms res
solrj
向我的Solr服务器发送了一些并行请求。一切都很好,响应时间也很好,但是有时候,一个请求需要很多时间
大多数结果都缓存在Solr中,因此在我的应用程序中观察运行时间和实际Solr响应时间时,我看到:
resquest1: solr: 1ms, elapsed: 150ms
resquest2: solr: 0ms, elapsed: 160ms
resquest3: solr: 3ms, elapsed: 100ms
resquest4: solr: 12ms, elapsed: 20ms
resquest5: solr: 3ms, elapsed: 50000ms
问题是50000ms
请求减慢了我所有的应用程序!实际上,它甚至比Solr在不缓存搜索时计算搜索所需的时间还要慢。这通常发生在最后一个请求上,好像某个缓冲区正在等待刷新
这是一个常见的问题吗?它来自哪里?我能做些什么来避免这种陷阱
谢谢你的帮助 你用的是BETA版,你有没有试过找bugzilla什么的?我对这件事一无所知。我也打算在Solr论坛上发布,但我不想知道是否有人已经面临同样的问题。这可能是Solr方面,甚至是你方面的垃圾收集暂停。如果您可以直接观察这样的请求,请尝试在两侧获取线程转储以查看应用程序正在做什么,或者在应用程序上插入JVisualVM(最好是带有VisualGC插件)以观察发生了什么。