
1 修改事務(wù)日志translog參數(shù)(存在數(shù)據(jù)丟失風(fēng)險(xiǎn))
默認(rèn)設(shè)置下,translog 的持久化策略是每個(gè)請(qǐng)求都flush(durability參數(shù)值為request),這樣能保證寫(xiě)操作的可靠性,但是對(duì)性能會(huì)有很嚴(yán)重的影響,實(shí)際測(cè)試發(fā)現(xiàn)如果使用默認(rèn)設(shè)置進(jìn)行導(dǎo)數(shù)據(jù)磁盤(pán)IO會(huì)持續(xù)占滿。如果系統(tǒng)可以接受一定幾率的數(shù)據(jù)丟失(或有手段補(bǔ)錄丟失數(shù)據(jù)),可以通過(guò)調(diào)整 translog 持久化策略、周期性和一定大小的時(shí)候 flush,能大大提升導(dǎo)入性能。該配置項(xiàng)可以建索引時(shí)指定(或者配置到template里去)。執(zhí)行命令如下所示:
curl -XPUT "http://ip:httpport/myindex/_settings" -H 'Content-Type: application/json' -d'
{
"index": {
"translog": {
"flush_threshold_size": "1GB",
"sync_interval": "180s",
"durability": "async"
}
}
}'
2 禁用Doc Values
默認(rèn)情況下,支持doc values 的所有字段都是開(kāi)啟的。因?yàn)?Doc Values 默認(rèn)啟用,可以選擇對(duì)數(shù)據(jù)集里面的大多數(shù)字段進(jìn)行聚合和排序操作。但是如果確定不需要在字段上進(jìn)行排序和聚合,或從腳本中訪問(wèn)字段值,則可以禁用 doc values 來(lái)節(jié)省磁盤(pán)空間。
要禁用 Doc Values ,在字段的映射(mapping)設(shè)置 “doc_values”為“false”即可。例如,這里我們創(chuàng)建了一個(gè)新的索引,字段 "session_id" 禁用了 Doc Values:
curl -XPUT "http://ip:httpport/myindex" -H 'Content-Type: application/json' -d'
{
"mappings": {
"my_type": {
"properties": {
"session_id": {
"type": "keyword",
"doc_values": false
}
}
}
}
}'
3 禁用_source字段
“_source”字段包含在索引時(shí)傳遞的原始JSON文檔正文。該“_source”字段本身不被索引(因此是不可搜索的),但它被存儲(chǔ),以便在執(zhí)行擷取請(qǐng)求時(shí)可以返回,例如get或search。
雖然很方便,但是“_source”字段確實(shí)在索引中有不小的存儲(chǔ)開(kāi)銷。因此,可以使用如下方式禁用:
curl -XPUT 'http://ip:httpport/tweets?pretty' -H 'Content-Type: application/json' -d'
{
"mappings": {
"tweet": {
"_source": {
"enabled": false
}
}
}
}'
在禁用_source 字段之前請(qǐng)注意:如果_source字段不可用,則不支持以下功能:
- update,update_by_query,reindex APIs.
- 高亮
- 將索引從一個(gè)Elasticsearch索引reindex(重索引)到另一個(gè)索引的能力,以便更改映射或分析,或?qū)⑺饕?jí)到新的主要版本。
- 通過(guò)查看索引時(shí)使用的原始文檔來(lái)調(diào)試查詢或聚合的能力。
- 潛在的未來(lái)可能會(huì)自動(dòng)修復(fù)索引損壞的能力。
在禁用_source 字段之前請(qǐng)注意:如果_source字段不可用,則不支持以下功能:?update,update_by_query,reindex APIs.
?高亮
?將索引從一個(gè)Elasticsearch索引reindex(重索引)到另一個(gè)索引的能力,以便更改映射或分析,或?qū)⑺饕?jí)到新的主要版本。
?通過(guò)查看索引時(shí)使用的原始文檔來(lái)調(diào)試查詢或聚合的能力。
?潛在的未來(lái)可能會(huì)自動(dòng)修復(fù)索引損壞的能力。