目录

Elasticsearch慢日志

目录

概述

本文是针对 ES 慢查询的排查过程的记录。

分析

5月16日早上的索引高峰一共有5w条慢记录,其中用户画像1w,内容画像4w,与此同时,内容画像有9w个慢查询记录。

首选 id 选择 rowkey 是会减低索引速度的,因为现在索引都是基于业务来划分索引的,基本不存在 id 混用的情况,所以没有必要用个 rowkey 来做 id。

这个是发生在 May 16th 2018, 07:58:35.790,也就是5月16日早上索引/召回超时高峰的一条慢记录。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{
  "rowkey": "63a070e374d562650dc9a255ea88e3df:bbs_topic|26442106",
  "acv": "0",
  "bi": "171",
  "bis": "耳鼻咽喉头颈外科-综合讨论",
  "cety": 1,
  "chids": "37",
  "cid": "26442106",
  "clk": "2744",
  "ct": 1378787899000,
  "cty": "bbs_topic",
  "cu": "苗教授",
  "disp": 1,
  "doclen": 195,
  "dq": 38.162582,
  "picnum": 0,
  "prediction": 4,
  "rc": "8",
  "sgt": "10",
  "tbbs": "12180",
  "tc": "学校,学校,学校,学校,学校,大学,本科,入学,研究生,研究生,研究生,研究生,研究生,研究生,研究生,生活,生活,生活,生活,生活,学生",
  "tc1": "职称考试,职称考试,职称考试,职称考试,职称考试,职称考试,职称考试",
  "tcp": "生活,硕士",
  "tcp1": "职称考试",
  "tctime": 1515151526826,
  "title": "各学校研究生生活补助及学费",
  "titleSeg": "学校,研究生,生活,补助,学费",
  "ut1": "2018-05-16",
  "w_tc": "生活,生活,生活,生活,生活",
  "zan": "10",
  "t": "【原创】各学校研究生生活补助及学费",
  "disscuss": "YCF杨,哥依然潇洒rzt,往来无白丁,明式,guilinent,从点滴做起硕,test_cleh7i02,test_4950e6p7,test_pusxeu02,伍玥姝瑶",
  "discuss": "test_ga4wo9f3,Yy198005,guilinent,Crazy_bee,zoser,78287472,从点滴做起硕,test_cleh7i02,伍玥姝瑶,王显文",
  "bi_post_score": 3,
  "discuss1": "明式,guilinent,Crazy_bee,zoser,78287472,从点滴做起硕,test_cleh7i02,伍玥姝瑶,王显文,尚已"
}

可以看到这是一个旧贴,但是写入的文档几乎把所有的字段覆盖了一次。在没有了解具体业务之前,我认为这是不合理的,不管这是属于哪个业务的需要,像 ct, bi 等基本字段不应该属于需要一直更新写入的业务字段。

/elasticsearch%E6%85%A2%E6%97%A5%E5%BF%97/image_1cdjnbdegnlle40o8e15sfl159.png

在仔细查看 ES 慢日志中发现,有个用户名的更新,对 ES 一直产生着压力。

/elasticsearch%E6%85%A2%E6%97%A5%E5%BF%97/image_1cdjnbdegnlle40o8e15sfl159.png /elasticsearch%E6%85%A2%E6%97%A5%E5%BF%97/image_1cdjrsleu154e56k4vn8ut1n3j3v.png /elasticsearch%E6%85%A2%E6%97%A5%E5%BF%97/image_1cdjrsleu154e56k4vn8ut1n3j3v.png /elasticsearch%E6%85%A2%E6%97%A5%E5%BF%97/image_1cdjre08kva2devgi8ee21rsnm.png
警告
本文最后更新于 2017年2月1日,文中内容可能已过时,请谨慎参考。