全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
云服务器 ECS

ELK在ECS的重要实践

更新时间:2017-11-07 11:02:04

Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎。下图显示阿里云的企业级家族(独享实例的SLA性能是有保证的)。

企业级家族

Elasticsearch 对 CPU 的要求不高,但要求比较大的内存(无需超过 64 GB)和 I/O 吞吐量,对网络要求高。推荐实例规格族:ecs.sn2ne.4xlarge 和 ecs.i2.4xlarge。

测试验证

测试方法

  • 测试版本:Elasticsearch 5.5

  • 压测软件:esrally

  • 测试架构:

    测试架构

  • 压测时,请执行如下命令:

  1. esrally --offline --load-driver-hosts=172.31.189.171,172.31.189.169,172.31.189.170,172.31.189.167,172.31.189.168 --track=geonames --pipeline=benchmark-only --target-hosts=172.31.189.182:9200,172.31.189.181:9200,172.31.189.180:9200,172.31.189.179:9200,172.31.189.178:9200 --client-options="basic_auth_user:'elastic',basic_auth_password:'changeme'" --user-tag="version:i2_test_1100"
  • 压测机型如下:

    • ecs.sn2ne.4xlarge,4 块 1 TB SSD 云盘,并做了 RAID 0。
    • ecs.i2.4xlarge 2 块 1.7 TB SSD 本盘,并做了 RAID 0。

参数调整

  • 系统参数调整。

    1. 打开多队列。
    2. 文件打开数增大。
    3. 禁用swap:vm.swappiness = 1。
  • Elasticsearch参数调整。

    这次压测基本没有调整参数,简单调整了 2 个参数,配置项如下:

    • bootstrap.memory_lock: true
    • indices.query.bool.max_clause_count: 4096

      不推荐随便修改参数,认为如果性能不达标,更多的需要关注运营,在官网的中文介绍《Elasticsearch: 权威指南》里面有很多建议,如:

      • 使用别名而不是索引名,这样可以在任何时候重建索引。
      • 深度分页不可取,游标查询。
      • 利用好索引模板。

测试结论

3

从上图可以看出,用多个 SSD 云盘效果不错,而用 SSD 本地盘效果更佳!

本文导读目录