- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
es查询⼤⽂本效率_超详细的Elasticsearch⾼性能优化实践
ES 性能调优
ES 的默认配置,是综合了数据可靠性、写⼊速度、搜索实时性等因素。实际使⽤时,我们需要根据公司要求,进⾏偏向性的优化。
写优化
假设我们的应⽤场景要求是,每秒 300 万的写⼊速度,每条 500 字节左右。
针对这种对于搜索性能要求不⾼,但是对写⼊要求较⾼的场景,我们需要尽可能的选择恰当写优化策略。
综合来说,可以考虑以下⼏个⽅⾯来提升写索引的性能:加⼤ Translog Flush ,⽬的是降低 Iops、Writeblock。
增加 Index Refresh 间隔,⽬的是减少 Segment Merge 的次数。
调整 Bulk 线程池和队列。
优化节点间的任务分布。
优化 Lucene 层的索引建⽴,⽬的是降低 CPU 及 IO。
①批量提交
ES 提供了 Bulk API ⽀持批量操作,当我们有⼤量的写任务时,可以使⽤ Bulk 来进⾏批量写⼊。
每次提交的数据量为多少时,能达到最优的性能,主要受到⽂件⼤⼩、⽹络情况、数据类型、集群状态等因素影响。
通⽤的策略如下:Bulk 默认设置批量提交的数据量不能超过 100M。数据条数⼀般是根据⽂档的⼤⼩和服务器性能⽽定的,但是单次批处
理的数据⼤⼩应从 5MB~ 15MB 逐渐增加,当性能没有提升时,把这个数据量作为最⼤值。
我们可以跟着,感受⼀下 Bulk 接⼝,如下所⽰ :
$ vi request
$ cat request
{ index : { _index : chandler,_type: test, _id : 1 } }
{ name : 钱丁君,age: 18 }
$ curl -s -H Content-Type: application/json -XPOST localhost:9200/_bulk --data-binary @request; echo
{took:214,errors:false,items:[{index:{_index:chandler,_type:test,_id:1,_version:1,result:created,_shards:
{total:2,successful:1,failed:0},_seq_no:0,_primary_term:1,status:201}}]}
$ curl -XGET localhost:9200/chandler/test/1?pretty
{
_index : chandler,
_type : test,
_id : 1,
_version : 1,
found : true,
_source : {
name : 钱丁君,
age : 18
}
}
Bulk 不⽀持 Gget 操作,因为没什么⽤处。
②优化存储设备
ES 是⼀种密集使⽤磁盘的应⽤,在段合并的时候会频繁操作磁盘,所以对磁盘要求较⾼,当磁盘速度提升之后,集群的整体性能会⼤幅度
提⾼。
磁盘的选择,提供以下⼏点建议:使⽤固态硬盘(Solid State Disk)替代机械硬盘。SSD 与机械磁盘相⽐,具有⾼效的读写速度和稳定性。
使⽤ RAID 0。RAID 0 条带化存储,可以提升磁盘读写效率。
在 ES 的服务器上挂载多块硬盘。使⽤多块硬盘同时进⾏读写操作提升效率,在配置⽂件 ES 中设置多个存储路径,如下所⽰:
path.data:/path/to/data1,/path/to/data2。
避免使⽤ NFS(Network File System)等远程存储设备,⽹络的延迟对性能的影响是很⼤的。
③合理使⽤合并
Lucene 以段的形式存储数据。当有新的数据写⼊索引时,Lucene 就会 ⾃动创建⼀个新的段。
随着数据量的变化,段的数量会越来越多,消耗的多⽂件句柄数及 CPU 就越多,查询效率就会下降。
由于 Lucene 段合并的计算量庞⼤,会消耗⼤量的 I/O,所以 ES 默认采⽤较保守的策略,让后台定期进⾏段合并,如下所述 :索引写⼊效
率下降:当段合并的速度落后于索引写⼊的速度时,ES 会把索引的线程数量减少到 1。
这样可以避免出现堆积的段数量爆发,同时在⽇志中打印出“now throttling indexing”INFO 级别的 “警告”信息。
提升段合并速度:ES 默认对段合并的速度是 20m/s,如果使⽤了 SSD,我们可以通过以下的命令将这个合并的速度增加到 100m/s。
PUT /_cluster/settings
{
persistent : {
indices.store.t
您可能关注的文档
- 苏教版六年级语文下册短文阅读专项基础练习.pdf
- 数采仪相关故障处理手册v1-1.pdf
- 校园里的景物作文10篇(多篇).pdf
- 昆明理工大学编译原理实验一词法分析器.pdf
- 普通高中信息技术课程标准(2017年版).pdf
- 最新人教版必修二减数分裂中染色体和DNA等的变化规律及细胞分裂图像的判定教案.pdf
- 校园的美景日记400字7篇.pdf
- 苏教版六年级上册语文拼音词语及答案(完整版).pdf
- 苏教版小学3年级信息技术全套教案8278.pdf
- 智能电网发展及展望.pdf
- 2018苏教版七年级数学上册教案(第四单元)(汇编).pdf
- 人教版初一数学上册竞赛专题:方程的解与解方程(含答案).pdf
- 介绍我的学校作文(精选40篇).pdf
- 北京市石景山区名校2022年数学七年级第一学期期末调研试题含解析.pdf
- 沿滩区第二小学校2018-2019学年二年级下学期数学3月月考试卷.pdf
- 2022-2023学年江西省乐平市物理九年级第一学期期末联考试题含解析.pdf
- 暑期作业(5年级)分数应用题综合练习.pdf
- 苏教版六年级上册科学练习册习题与讲解6868.pdf
- 苏教版数学一年级上册期末真题试卷(含答案).pdf
- 数据分析之实例三:用户消费行为数据分析(一).pdf
文档评论(0)