我有elasticsearch(1.5.2)集群(带有数据的2个节点)和218M docs(22.3Gi)。默认情况下所有弹性设置(5个碎片和1个复制),内存除外:-Xmx5g -Xms5g
我的问题是查询请求非常慢 - 2秒。当索引很小~10K时,doc requery时间为100-200 ms。我以50个并发用户的负载运行它,时间增加到10-20秒。
群集机器: 2个专用的vm节点
Architecture: x86_64
CPU(s): 16
Core(s) per socket: 8
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
Memory: 16Gb
映射:
{
"all": {
"properties": {
"schemarev": {
"type": "long"
},
"schema": {
"index": "not_analyzed",
"type": "string"
},
"id": {
"index": "not_analyzed",
"type": "string"
},
"rev": {
"type": "long"
},
"name": {
"type": "string",
"fields": {
"raw": {
"index": "not_analyzed",
"type": "string"
}
}
},
"properties": {
"properties": {
"фио": {
"type": "string",
"fields": {
"raw": {
"index": "not_analyzed",
"type": "string"
}
}
},
"телефон": {
"type": "string",
"fields": {
"raw": {
"index": "not_analyzed",
"type": "string"
}
}
},
"возраст": {
"type": "integer"
},
"адрес": {
"type": "string",
"fields": {
"raw": {
"index": "not_analyzed",
"type": "string"
}
}
},
"email": {
"type": "string",
"fields": {
"raw": {
"index": "not_analyzed",
"type": "string"
}
}
}
},
"type": "nested"
},
"_creator_id": {
"index": "not_analyzed",
"type": "string"
},
"type": {
"index": "not_analyzed",
"type": "string"
},
"schemaid": {
"index": "not_analyzed",
"type": "string"
}
}
}
}
文件样本:
{
"schemaId": "55eaf455-b0db-4359-95cd-b16b57ae7b3e",
"name": "o1",
"properties": {
"фио": "asd",
"телефон": "8967234",
"адрес": "asfsdf",
"возраст": 37
}
}
像这样查询,没有聚合:
{
"match_all" : { }
}
此大小= 10且来自= 0
同样在日志中有:
[WARN ][monitor.jvm ] [Master Order] [gc][young][50][9] duration [1s], collections [1]/[1.6s], total [1s]/[1.9s], memory [4.3gb]->[4.2gb]/[9.8gb], all_pools {[young] [748.1mb]->[32.5mb]/[865.3mb]}{[survivor] [108.1mb]->[108.1mb]/[108.1mb]}{[old] [3.4gb]->[4.1gb]/[8.9gb]}
在这种情况下我该怎么办?