ElasticSearch性能测试
原文翻译自:ElasticSearch官方性能测试
基准测试场景
注:ES中的文档类似一条记录。
数据
测试使用了860万份文档,取自Geonames的POI数据。
项 | 参数 |
---|---|
文档数 | 860万 |
数据大小 | 2.8GB(JSON) |
客户端线程数 | 8 |
每个bulk请求 | 5000份文档 |
服务器数目 | 1个或2个 |
服务器配置
项 | 参数 |
---|---|
核心数 | 36个real cores,使用超线程可达72个 |
RAM | 256 |
SSD | Intel 750 PCIe/NVMe |
默认设置
- 默认,2个节点都是追加,使用全部默认配置,2个节点运行在一个沙盒中(5个shards,1份拷贝)
- 4GB heap(ES_HEAP_SIZE)
- refresh_interval: 30s
- index.number_of_shards: 6
- index.number_of_replicas:0
- index.translog.flush_threshold_size: 4g
索引性能
以下图片展示的是ElasticSearch每晚基于master分支代码的性能测试结果。
时间消耗
下图显示的是与索引性能使用相同数据时,索引时间(分钟),合并时间(分钟),刷新时间(分钟),Flush时间(分钟),Merge throttle 时间(分钟)。
合并时间,部分
堆使用的总段数
Indexing CPU utilization(默认)
索引磁盘使用
索引段数
gradle测试时间
gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置。gradle