Hej,
我正在部署一个包含超过30万个文档的Solr服务器。目前,我正在测试搜索性能,结果非常依赖于我执行的同时查询的数量:
1个同时查询:2516ms
2个同时查询:4250,4469 ms
3个同时查询:5781,6219,6219 ms
4个同时查询:6484,7203,7719,7781 ms ...
Jetty线程池配置为默认值:
New class =“org.mortbay.thread.BoundedThreadPool”
设置name =“minThreads”10
设置name =“lowThreads”50
设置name =“maxThreads”10000
我想知道我是否可以设置任何因素来减少响应时间内同步请求的影响。
Solrconfig也被配置为默认值,但没有用于测量最坏情况的缓存和mergeFactor = 5(搜索将比更新请求更多)。
提前致谢
答案 0 :(得分:3)
为什么要在关闭缓存时尝试执行此操作?你到底想要测量什么?
您已经有效地迫使Solr(Lucene)从磁盘执行每次搜索。您实际测量的是Java本身的并发性以及您的操作系统和磁盘吞吐量。这与Jetty或Solr无关。
缓存是你的朋友。你真的应该在任何一种生产能力中使用它们。在我看来,你应该在改变缓存的同时测量你的吞吐量,看看缓存大小和吞吐量之间的权衡。
答案 1 :(得分:1)