1

我的任务是使用 Solr 构建一个包含大约 1 亿条小记录的测试索引。从昨天的某个时候开始,我一直在我的笔记本电脑上运行它,一次将它增加 1000 万条记录,并在主要的“里程碑”(10m、20m ......等)上运行查询。我已经达到了大约 7000 万条记录,一切顺利……笔记本电脑规格如下:

  • 四核 i7
  • 8Gb 内存
  • Windows 7的
  • Tomcat 7 + 最新版本的 Solr。

作为测试,我决定看看当我在我的家庭工作站上运行一个类似的工作负载时会发生什么(双 Proc、四核 Xeon、12Gb RAM、RAID 0 中用于索引的 2x10K RPM 磁盘、Windows 2008 R2、相同的软件)。唯一的区别是现在我使用的是多核...使用笔记本电脑中相同的架构和 conf 目录,修改了 solr.xml...

无论如何,在笔记本电脑上,大约 7000 万条记录,我得到的结果不到 500 毫秒。那是 150 个查询,其中 100 个是一个词,50 个是 2 个词查询。只查询一个字段(名称字段)。一切都好...在我的工作站上,使用多核和以下查询字符串,我的时间超过了 4-5 秒!

http://localhost:8080/solr/core0/select?shards=localhost:8080/solr/core0,localhost:8080/solr/core1,localhost:8080/solr/core2,localhost:8080/solr/core3&q=Name:Test Name

这是我生成的一个新索引:我正在执行一个循环,从 0 到 100,000,000 并且每次我点击 i % 10000 == 0 时,我都会将文档添加到 solr 核心。每次我点击那个循环,我都会增加一个commitID,当commitID %4 == 0时,去core0,当1去core1时,等等......

我很确定这是某个地方的配置问题...但我只是想确保...我是否应该期望这会更快?两个处理器(笔记本电脑和工作站)都在 2.2Gz 范围内。两者都是足够新的架构(工作站上的 Nehalem,笔记本电脑上 2010 年的 i7)。那么,有什么想法我应该看的吗?

4

0 回答 0