1. 临时禁用swap交换分区

      1. swapoff -a
    2. 永久禁用swap交换分区 ```python echo “vm.swappiness = 0”>> /etc/sysctl.conf

    sysctl -p

    
    3. 配置Es的jvm内存
    ```python
    vim jvm.options
    -Xms16g
    -Xmx16g
    
    1. 配置es锁内存锁定物理内存地址,防止es内存被交换出去,也就是避免es使用swap交换分区,频繁的交换,会导致IOPS变高。 ```python vim elasticsearch.yml

    bootstrap.memory_lock: true

    ```python
    ERROR: [1] bootstrap checks failed
    [1]: memory locking requested for elasticsearch process but memory is not locked
    

    设置好之后启动es会报如上错误,解决办法:

    • 修改/etc/security/limits.conf,添加如下内容 ```python
    • soft nofile 65536
    • hard nofile 65536
    • soft nproc 32000
    • hard nproc 32000
    • hard memlock unlimited
    • soft memlock unlimited ```
    • 修改/etc/systemd/system.conf,修改如下内容

      DefaultLimitNOFILE=65536
      DefaultLimitNPROC=32000
      DefaultLimitMEMLOCK=infinity
      
    • 立即生效:/bin/systemctl daemon-reload


    1. 配置query请求可使用的jvm内存限制,默认是10% ```python vim elasticsearch.yml

    indices.queries.cache.size: 20%

    
    6. 查询request请求的DSL语句缓存,被缓存的DSL语句下次请求时不会被二次解析可提升检索性能,默认值是1%
    ```python
    vim elasticsearch.yml
    
    indices.fielddata.cache.size: 30%
    
    1. 设置字段缓存的最大值,默认无限制。 ```python vim elasticsearch.yml

    indices.fielddata.cache.size: 30% ```

    1. 设置索引的刷新时间