浅谈Solr和ElasticSearch建索引性能优化策略

由于Solr和ElasticSearch都是基于Lucene构建的,所以他们之间有很大程度的相似性,故而他们的一些优化策略基本也是通用的,面对越来越多的海量数据,如何优化全量索引的写入性能呢? 散仙简单总结了下面几个方向的优化策略,如有疑问,欢迎拍砖。 (一)硬件优化: (1)CPU加大,有利于并发写入 (2)内存提升,加大写入缓冲 (3)磁盘IO,使用SSD或者IO读写更快的磁盘 (4)网络IO,保证客户端与服务端的通信带宽充足 (二)服务端框架优化: (1)加大shard的数目,理论上shard越多,写入速度越快 (2)设置较大的索引flush触发条件,ramBufferSizeMB 或者 maxBufferedDocs (3)写索引时,关闭副本,因为同步索引会大大降低写入速度 (4)监控GC,调整JVM参数 如果Full GC频繁,加大JVM堆内存, 如果Yong GC频繁,加大新生代的比例,如果使用的是CMS垃圾收集器,必要时,可以关闭survive区,避免survive区和Eden区来回拷贝 (5)尽量使用稳定的新版本如JDK和框架本身 (6)内存大的,可以尝试G1垃圾收集器 (三) 客户端优化 (1)如果公司有大数据部门,可以使用Hadoop或者Spark分布式集群构建索引 (2)如果公司没有大数据产品,可以使用多线程或者多进程并行构建索引 (3)使用批量提交 (4)减少commit次数,让服务端控制flush索引,索引完成之后,可手动commit一次。

原文发布于微信公众号 - 我是攻城师(woshigcs)

原文发表时间:2016-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏cloudskyme

模块化服务规范——OSGI

什么是OSGI OSGi(Open Service Gateway Initiative)有双重含义。一方面它指OSGi Alliance组织;另一方面指该组织...

5243
来自专栏大魏分享(微信公众号:david-share)

一张图简介分布式架构架全貌

前言: 本文在书写之前,拜读了张开涛:《亿级流量网站架构核心技术》一书,该书写的系统性很强,建议购买阅读。 本文仅代表个人观点。 本文通过一张图,将分布式开源技...

5777
来自专栏杨建荣的学习笔记

数据迁移中需要考虑的问题(r2第15天)

在生产环境中,做数据迁移需要考虑很多的可能性和场景,尽量排除可能发生的问题。我自己总结了下,大体有如下需要注意的地方。 1)充分的测试,评估时间,总结经验,提升...

3139
来自专栏数据和云

Oracle最重要的九大性能视图

摘要:Oracle数据库的性能优化一直以来都是DBA关注的焦点,在不同的版本中,Oracle都提供了相关的工具用于数据库的性能诊断,事实上这些工具都是通过对数据...

3166
来自专栏逸鹏说道

SQL Server安全(1/11):SQL Server安全概述

在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切。但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念。这篇...

2958
来自专栏FreeBuf

50元制作PS2键盘无线监控装置

0x00 什么是Arduino Arduino实际上就是一种开发板,将微控制器和必需的元件集成在一块电路板上,扩展出完善的接口和针脚,就可以接上各种各样...

2035
来自专栏CSDN技术头条

容器化RDS|计算存储分离架构下的IO优化

在基于 Kubernetes 和 Docker 构建的私有 RDS 中,普遍采用了计算存储分离架构。该架构优势明显, 但对于数据库类 Latency Sensi...

3346
来自专栏个人分享

storm概念学习及流处理与批处理的区别

在过去10 年中,随着互联网应用的高速发展,企业积累的数据量越来越大,越来越多。随着Google MapReduce、Hadoop 等相关技术的出现,处理大规模...

1151
来自专栏Java进阶干货

三思!大规模MySQL运维陷阱之基于MyCat的伪分布式架构

分布式数据库,已经进入了全面快速发展阶段,这种发展,是与时俱进的,与人的需求是分不开的,因为现在信息时代的高速发展,导致数据量和交易量越来越大。这种现象首先导致...

6011
来自专栏魏艾斯博客www.vpsss.net

新网云虚拟主机绑定 CNAME 不当网站打不开的解决办法

3283

扫码关注云+社区

领取腾讯云代金券