Es性能優化

1. Es中10億級別的數據量,如何提升查詢效率mysql

(1) 性能優化關鍵:file system cachesql

a. 不要期待隨手挑一個參數,就能夠萬能的應對全部性能慢的場景數據庫

b. es依賴於底層的file system cache,若是給file system cache更多的內存,儘可能讓內存容納全部的idx segment file索引數據文件,則搜索時均走內存,性能很高。若是內存較少,其餘索引將存入磁盤,從磁盤搜索的性能多是數秒。api

image

c. 生產環境的最佳狀況,是僅僅在es中存少許屬性字段,即須要用於搜索的那些索引,額外的屬性存入其餘數據庫中,如mysql/mongo/hbae。緩存

d. 若是內存確實是瓶頸,能夠採用數據預熱,即單獨作一個專門的緩存預熱子系統,存儲比較熱門的數據到file system cache。性能優化

e. 也能夠採用冷熱分離,i將冷數據寫入一個索引,熱數據寫入另外一個索引,確保熱數據在被預熱以後,儘可能留在file system cache中,別讓冷數據給沖刷掉。性能

f. 不要讓es作數據關聯查詢等數據,在document模型設計時考慮,將關聯後的數據存入es中優化

g. 分頁查詢性能較差,所以不容許深度分頁,能夠用scroll api不斷下拉一頁一頁展現, scroll一次性生成全部數據的一個快照,缺點是不適於隨意跳到任何一頁的情景設計

相關文章
相關標籤/搜索