一个索引有2个字段:
_id自定义36位uuid
字段fdata数据类型binary,大小50k~2m,只存储不索引
字段flag数据类型byte
单机运行,索引文件80g,分片设置4,内存64G,启动设置分配给es的最大内存为20G。
现在使用get /index/type/id。轮训获取数据,内存马上就爆了,_cache/clear清空缓存都没用,只有关闭再打开索引内存才会释放。开始以为是查询缓存,我在setting中吧request–cache-false一样不行,甚至我get的时候用_source把fdata字段排除也一样不行。。。
_id自定义36位uuid
字段fdata数据类型binary,大小50k~2m,只存储不索引
字段flag数据类型byte
单机运行,索引文件80g,分片设置4,内存64G,启动设置分配给es的最大内存为20G。
现在使用get /index/type/id。轮训获取数据,内存马上就爆了,_cache/clear清空缓存都没用,只有关闭再打开索引内存才会释放。开始以为是查询缓存,我在setting中吧request–cache-false一样不行,甚至我get的时候用_source把fdata字段排除也一样不行。。。
7 个回复
medcl - 今晚打老虎。
赞同来自:
huigy
赞同来自:
rochy - rochy_he
赞同来自:
对于 binary 字段,推荐下面的 mapping;此外考虑把 ES 的内存设置为 31G
huigy
赞同来自:
"mappings": {
"bfile": {
"properties": {
"rd": {
"type": "integer"
},
"data": {
"type": "binary"
},
"iD": {
"type": "keyword"
}
}
}
},
总之就是一直Get后内存爆了,只要关闭索引再重启内存就降下去了
Sune - 90后IT
赞同来自:
easyice - 张超
赞同来自:
huigy
赞同来自: