ElasticSearch性能测试

ElasticSearch性能测试
原文翻译自:ElasticSearch官方性能测试

基准测试场景

注:ES中的文档类似一条记录。
数据
测试使用了860万份文档,取自Geonames的POI数据。

参数
文档数860万
数据大小2.8GB(JSON)
客户端线程数8
每个bulk请求5000份文档
服务器数目1个或2个

服务器配置

参数
核心数36个real cores,使用超线程可达72个
RAM256
SSDIntel 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(默认)

索引CPU


索引磁盘使用

索引磁盘使用


索引段数

索引段数


gradle测试时间

gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置。gradle
gradle测试


Search QPS(脚本)

Search QPS脚本


Search QPS

Search QPS


请求时间统计

请求时间统计


垃圾回收时间

垃圾回收时间


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
进行Elasticsearch性能测试是评估其性能和确定系统的瓶颈的重要步骤。下面是一些常见的Elasticsearch性能测试方法和工具: 1. 压力测试工具:使用专门的压力测试工具如Apache JMeter、Gatling等,模拟多用户并发请求,以测量Elasticsearch在不同负载下的性能表现。 2. 负载测试:创建一个包含真实或合成数据的负载测试环境,模拟实际使用场景对Elasticsearch进行测试。可以使用工具如Elasticsearch Rally进行自动化负载测试。 3. 基准测试:使用基准测试工具如Elasticsearch Benchmark等,对特定的索引和查询模式进行测试,并记录性能指标如吞吐量、延迟等。 4. 监控和分析:使用Elasticsearch内置的监控工具如Elasticsearch Monitoring或第三方工具如Prometheus、Grafana等,实时监控Elasticsearch集群的健康状况和性能指标,以便进行性能分析和故障排查。 在进行性能测试时,需要注意以下几点: - 确保测试环境与生产环境相似,包括硬件配置、网络连接等。 - 使用真实的数据进行测试,以便更好地模拟实际使用场景。 - 关注关键性能指标,如吞吐量、延迟、错误率等。 - 根据测试结果进行性能调优,如调整索引设置、查询优化等。 需要注意的是,性能测试应该是一个迭代的过程,通过不断测试和优化来改进Elasticsearch的性能。此外,性能测试结果也可能因为不同的硬件配置、索引设计和查询模式而有所不同,因此需要根据具体情况进行测试和调优。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值