Elasticsearch集群之配置与建议

1、内存

es使用内存主要有jvm的堆内存和机器内存,os cache,排序和聚合都会耗费很多内存。es底层时lucene,lucene的数据结构都是基于磁盘的格式,es通过os cache来进行高性能的磁盘文件读写。当数据量达到亿级别,建议集群的每台机器的内存要大于等于64G

2、cpu

对于es来说,cpu没有内存更重要,cpu如果是多核,可以带来更高的并发处理能力。

3、磁盘

es大量写入需要更多的磁盘空间,选择SSD磁盘会让es读写性能比机械磁盘高很多倍。

如果选择SSD,需要检查IO scheduler,需要正确的配置IO scheduler,当写入数据到磁盘,IO scheduler决定何时真正的写入磁盘,而不是停在os cache中。

默认IO scheduler是cfq(completely fair queuing):会给每个进程分配一些时间片,然后优化每个进程的数据如何写入磁盘。该种优化思路是根据磁盘的物理布局来决定如何将数据写入磁盘,进而提升写入磁盘的性能,这也是对机械磁盘(机械旋转磁盘,磁头进行读写)做出的优化。

对于SSD来说默认的IO scheduler不高效,SSD不涉及磁盘旋转和磁头读取机制。因此要修改成deadline/noop scheduler

deadline scheduler会基于写操作被pending多长时间来进行写磁盘优化。

noop scheduler是应用FIFO的队列机制。

发布了59 篇原创文章 · 获赞 2 · 访问量 2050

猜你喜欢

转载自blog.csdn.net/zuodaoyong/article/details/103748007
今日推荐