应该在 Tomcat 上为 Java 分配多少内存,使用 Solr 20+索引中有 M 项?
我正在寻找有关 Tomcat 7 上 Java 内存分配的一些建议,运行 Solr :-)
以下是事实:
- 运行 Solr 1.4.1 大约2000 万个项目索引中的不同大小。
- 修剪后的索引大约为 40-45 GB 大。
- 每个月大约有40000-60000 篇文章添加到索引中。文章的大小各不相同,从几 kB 到 15-20 kB。
- 每个月都会向索引添加大约5000-8000 张图像。 (实际上不是图像本身,而是一些元数据)。
Solr 配置细节:
- mergeFactor 10
- ramBufferSizeMB 128 MB
- maxMergeMB 1024.0 MB
执行完整重新索引时(在具有 Intel Xeon CPU(4 核)+ 6 GB 内存的 Win 2007 服务器上),索引日记条目大约需要 3.5 小时,并且索引图像大约需要 4.5 小时。
不过,我们已将索引服务器内存升级至 12 GB,并为 Java 分配了6144 MB 最大内存池。 初始内存池:1024 MB。
重新启动 Apache 时,Tomcat 大约需要 5-10 分钟才能达到约 5 GB 的内存使用量。再过一两个小时,它就会达到 6 GB 的界限并停留在那里。
当我们使用 32 位 Apache 遇到 2 GB 屏障时,我们在 1-1.5 周后收到 OutOfMemoryError: Java Heap Space。 3 GB 加起来可能需要 2-3 周。
现在,我们已经在 64 位 Apache 和 Java 上运行 Solr,并分配了 6 GB 内存几天。到目前为止没有问题。
鉴于上述事实,您将如何修剪 Solr 索引并调整内存使用情况?
I'm looking for some advice on memory allocation to Java on Tomcat 7, running Solr :-)
Here are the facts:
- Running Solr 1.4.1 with approx 20 Million items of different sizes in the index.
- The index, when trimmed, is approx 40-45 GB large.
- Approx 40000-60000 articles are added to the index every month. Articles vary in size, from a couple of kBs to 15-20 kBs.
- Approx 5000-8000 images are added to the index every month. (Actually not the images themselves but some meta data).
Solr config specifics:
- mergeFactor 10
- ramBufferSizeMB 128 MB
- maxMergeMB 1024.0 MB
When doing a full re-index (on a Win 2007 server with Intel Xeon CPU (4 cores) + 6 GB memory), indexing diary entries takes approx 3,5 hrs and indexing images takes approx 4,5 hrs.
However, we've upgraded the index server to 12 GB memory and assigned Java 6144 MB for the maximum memory pool. Initial memory pool: 1024 MB.
When restarting Apache, it takes approx 5-10 minutes for Tomcat to reach ~ 5 GB of memory usage. Another hour or two and it hits the 6 GB barrier and stays there.
When we had a 2 GB barrier using 32 bit Apache, we got an OutOfMemoryError: Java Heap Space after 1-1,5 weeks. 3 GB added up to maybe 2-3 weeks.
Right now we've run Solr on 64 bit Apache and Java with 6 GB assigned for a couple of days. So far no problems.
Given above facts, what would you do to trim the Solr index and tweak memory usage?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的图像索引有多大?您是否考虑过将两个索引分开?如果将它们放在单独的盒子上的单独的 SOLR 实例上,您应该会看到性能的提高。
How big is you image index? Have you considered seperating the two indexes? If you put them onto seperate SOLR instances on seperate boxes you should see a performance increase.