【发布时间】:2011-01-07 08:44:57
【问题描述】:
我已经部署了一个 5 分片的基础架构,其中: shard1 有 3124422 个文档 shard2 有 920414 个文档 shard3 有 602772 个文档 shard4 有 2083492 个文档 shard5 有 11915639 个文档 索引总大小:100GB
操作系统是 Linux x86_64(Fedora 版本 8),vMem 等于 7872420,我使用 Jetty(来自 Solr 示例下载)运行服务器: java -Xmx3024M -Dsolr.solr.home=multicore -jar start.jar
查询的响应时间约为 2-3 秒。不过,如果我同时执行多个查询,性能会立即下降: 1个同时查询:2516ms 2 个同时查询:4250,4469 毫秒 3 个同时查询:5781、6219、6219 毫秒 4 个同时查询:6484、7203、7719、7781 毫秒...
使用 JConsole 监控服务器 java 进程我检查了堆内存和 CPU 使用量没有达到上限,因此服务器不应该过载。谁能给我一个方法,说明我应该如何调整实例,使其不那么依赖于同时查询的数量?
提前致谢
【问题讨论】:
-
有点不清楚你是指启动成本,还是你看到的问题一直存在
-
您的多核设置是否正确? stackoverflow.com/questions/2714046/…
-
这个问题是一致的,并且变得非常令人头疼,因为响应时间完全取决于同时搜索的客户数量。考虑到我一直在为索引和搜索数据运行批处理,因此设置是正确的。问题是查询结果的性能...
-
这些数字看起来与在单线程中运行的大部分查询非常一致。你能检查一下 iotop 看看你的磁盘有多少被锤击了吗?这可能是一个缓存垃圾问题(解决方案将是更多内存)
-
这是stackoverflow.com/questions/4431620/… 的“颠簸”(或者说是重复的)?
标签: lucene solr performance jetty