准备将es 5.5升级为es7.4,在用jmeter压测时发现相同的语句es5.5平均查询用100毫秒,es7.4用200毫秒,主要的查询语法是bool过滤数据,然后agg数据聚合。请教各位大神这可能是什么原因呢??
服务器环境相同,数据环境相同,压测场景相同,在kibana query profile 用各种语句查询,7.4都是优于5.5的,可是一到真实查询,5.5的耗时就比7.4低。
es5.5 和 es7.4 节点数一样,3台服务器 ,配置都是 88c 256G,每个服务器启动3个节点,共9个节点,写入了相同的数据,查询语句为以下语句
{
"size": 0,
"query": {
"bool": {
"filter": [{
"term": {
"aaa": "bbb"
}
}, {
"range": {
"@timestamp": {
"gte": "1576117714282",
"lte": "1576118614282"
}
}
}
], "must_not": [{
"terms": {
"bizcode": ["00000000"]
}
}
]
}
},
"aggs": {
"distribution": {
"terms": {
"field": "payer",
"size": 10,
"order": {
"_count": "desc"
}
}
},
"aggs": {
"distribution2": {
"terms": {
"field": "from",
"size": 10,
"order": {
"_count": "desc"
}
}
}
}
}
}
ES5.5版本,查询结果的 took 100毫秒左右
ES7.4版本,查询结构的 took 200毫秒左右
es 5.5 profile
es 7.4 profile
服务器环境相同,数据环境相同,压测场景相同,在kibana query profile 用各种语句查询,7.4都是优于5.5的,可是一到真实查询,5.5的耗时就比7.4低。
es5.5 和 es7.4 节点数一样,3台服务器 ,配置都是 88c 256G,每个服务器启动3个节点,共9个节点,写入了相同的数据,查询语句为以下语句
{
"size": 0,
"query": {
"bool": {
"filter": [{
"term": {
"aaa": "bbb"
}
}, {
"range": {
"@timestamp": {
"gte": "1576117714282",
"lte": "1576118614282"
}
}
}
], "must_not": [{
"terms": {
"bizcode": ["00000000"]
}
}
]
}
},
"aggs": {
"distribution": {
"terms": {
"field": "payer",
"size": 10,
"order": {
"_count": "desc"
}
}
},
"aggs": {
"distribution2": {
"terms": {
"field": "from",
"size": 10,
"order": {
"_count": "desc"
}
}
}
}
}
}
ES5.5版本,查询结果的 took 100毫秒左右
ES7.4版本,查询结构的 took 200毫秒左右
es 5.5 profile
es 7.4 profile
3 个回复
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自: taoyantu
1,相关es的配置,setting mapping呢?一样吗
2,机器资源的使用情况呢?一样吗
3,有没有其他进程占用资源呢?一样吗
一并排查说明下?
taoyantu - it
赞同来自:
suisuimu - 小白也要加油鸭
赞同来自: