esrally性能测试原理

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
性能测试 PTS,5000VUM额度
简介: 1. 前提esrally的运行不会影响当前系统elasticsearch的一切正常业务。2. 性能测试原理

1. 前提

esrally的运行不会影响当前系统elasticsearch的一切正常业务。


2. 性能测试原理

大致步骤概括如下:


第一步:安装esrally,耗时会半小时到1个小时之间。

主要完成esrally必要组件安装,更多的是elasticsearch的安装。


elasticsearch安装的两种方式:


方式一:最常用的安装方法,源码安装。只需要运行esrally,等价于运行:

esrally race --pipeline=from-sources-complete --revision=current --track=geonames --challenge=append-no-conflicts --car=defaults

1

方式二:指定elasticsearch版本进行安装, 如下所示:

esrally –pipline=from-distribution –distribution-version=2.3.4,

Rally 将从以下官网链接下载 elasticsearch2.3.4

https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.4/elasticsearch-2.3.4.tar.gz


至此,esrally安装成功,对应的elaticsearch安装成功。


第二步:全面的测试。

从日志可以查看结果,日志最终存储文件为:

/home/elasticsearch/.rally/benchmarks/races/2016-08-10-06-50-06/local/logs-geonames-append-no-conflicts-defaults.zip


可以查看到如下信息,我们能看到PUT/POST/GET/DELETE/HEAD等操作。

每条测试都记录了状态status,请求时间request。


2016-08-10 06:52:30,221 elasticsearch INFO GET http://localhost:39200/_cluster/health?wait_for_status=green&timeout=3s&wait_for_relocating_shards=0 [status:20        0 request:0.011s]


......

1

2

3

2016-08-10 06:52:34,674 elasticsearch INFO POST

http://localhost:39200/_bulk [status:200 request:4.264s]


……

2016-08-10 07:04:11,309 elasticsearch INFO GET

http://localhost:39200/geonames/_stats/_all?level=shards [status:200 request:0.027s]


……

2016-08-10 07:16:18,219 elasticsearch INFO DELETE

http://localhost:39200/_search/scroll/DnF1ZXJ5VGhlbkZldGNoBQAAAAAAACDMFlotSVZXOUkzUWFpTFFGWEVEZzhxcncAAAAAAAAgzhZaLUlW VzlJM1FhaUxRRlhFRGc4cXJ3AAAAAAAAIM8WWi1JVlc5STNRYWlMUUZYRURnOHFydwAAAAAAACDQFlotSVZXOUkzUWFpTFFGWEVEZzhxcncAAAAAAAAgzRZaLUlWVzlJM1FhaUxRRlhFRGc4cXJ3 [status:200 request :0.002s]

“`


第三步:统计、给出最终结果。 esrally会运行较长时间,完成如下几类测试操作:

Racing on track [geonames] and challenge [append-no-conflicts] with car [defaults] Benchmarking indexing at 12590.4 docs/s [100% done]

Benchmarking stats (warmup iteration 100/100) [100% done] Benchmarking stats (iteration 100/100) [100% done] Benchmarking search (warmup iteration 100/100) [100% done] Benchmarking search (iteration 100/100) [100% done]


最终给出测试结果: “


_______ __ _____ / ____(_)___ ____ _/ / / ___/_________ ________ / /_ / / __ \/ __/ / __ \/ / \/ / _ \ / / / / / / / // / / / / // // / / / / // /// //_,// /_/__/____// __/

Metric Value

Min Indexing Throughput [docs/s] 12410

Median Indexing Throughput [docs/s] 12675.2

Max Indexing Throughput [docs/s] 13567

Indexing time [min] 158.259

Merge time [min] 29.5808

Refresh time [min] 8.4305

Flush time [min] 2.11967

Merge throttle time [min] 1.16355

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
8月前
|
监控 Java 测试技术
精准化测试原理简介
该文探讨了软件测试中的精准化测试问题,通过找不同游戏引出测试覆盖的挑战。文章指出,全面的测试覆盖并不现实,自动化测试虽有帮助但并非银弹,且面临成本和覆盖率局限。接着,文章提出需要“最强大脑”来快速识别代码差异、影响范围及测试覆盖率。为此,它介绍了通过语法分析器和字节码来定位代码差异,利用ASM进行调用链分析,并借助Jacoco进行覆盖率统计。此外,文章强调了增量覆盖率统计和调用链在接口测试中的重要性,同时提醒高覆盖率不代表高质量,测试策略应结合业务逻辑和代码审查。
|
8月前
|
JavaScript Java 测试技术
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
3224 0
|
4月前
|
芯片
LDO的原理及测试方法
一、基本结构 这是LM317芯片的核心,这个电路单元称为Bandgap Reference带隙基准源。属于模拟集成电路中的经典电路结构。 LDO拓扑结构图 常见的基本结构 利用VBE的负温度系数,而VT是正温度系数,正负温度系数抵消就的得到稳定的基准参考电压了(三极管的方程VBE=VT*In(lC/IS))。 二、测试意义 了解集成电路的内部结构对测试有意义么? 1、了解内部结构,才能更好的理解测试原理或者设计测试方案2、可以学习提升对电路结构的理解能力。 针对LM317,了解了内部简单原理,可以知道1、内部结构设计针对的是温度系数,因此可能受温度的影响,实际也是会受到温度的影
197 88
|
3月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
61 1
|
4月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
62 2
|
5月前
|
Web App开发 测试技术 API
Web自动化测试框架(基础篇)--Selenium WebDriver工作原理和环境搭建
本文详细介绍了Selenium WebDriver的工作原理,包括其架构、通信机制及支持的浏览器,并指导读者如何在Python环境下搭建Selenium WebDriver的测试环境,从安装Python和Selenium库到编写并运行第一个自动化测试脚本。
296 0
|
7月前
|
存储 数据管理 测试技术
构建Python构建自动化测试框架(原理与实践)
当谈到软件质量保证时,自动化测试是一个不可或缺的步骤。Python作为一种简单易学的编程语言,具有丰富的测试框架和库,使得构建自动化测试框架变得相对简单。本文将介绍如何使用Python构建自动化测试框架,包括选择合适的测试框架、编写测试用例、执行测试和生成报告等方面。
构建Python构建自动化测试框架(原理与实践)
|
7月前
|
芯片
LDO的原理及测试方法
LM317是一种可调稳压器,核心是Bandgap Reference,用于提供1.25到37V的输出电压和1.5A的电流。了解其内部结构有助于测试和电路设计,例如理解温度系数对稳定性的影响,以及参数如IADJ(通常为50uA)的设计。测试时关注输出电压的线性和负载调整率,同时注意输入电流与输出电流的关系。LM317的测试还包括参考电压、滤波器性能、纹波抑制比等,确保电路的稳定性和效率。在多站点测试中,还需确保辅助电路的一致性和校准。
270 4
|
6月前
|
存储 Java
浅析JAVA日志中的性能实践与原理解释问题之测试日志内容大小对系统性能的影响问题如何解决
浅析JAVA日志中的性能实践与原理解释问题之测试日志内容大小对系统性能的影响问题如何解决
132 0
|
8月前
|
敏捷开发 监控 IDE
深入理解自动化测试工具Selenium的工作原理与实践应用
【5月更文挑战第26天】 随着敏捷开发和持续集成理念的普及,自动化测试在软件开发生命周期中扮演了至关重要的角色。Selenium作为最流行的自动化测试工具之一,以其开源、跨平台和支持多种编程语言的特性被广泛使用。本文将详细解析Selenium的核心组件,探讨其工作原理,并通过案例分析展示如何高效地实施Selenium进行Web应用的自动化测试。我们将从测试准备到结果分析的全过程,提供一系列实用的策略和最佳实践,帮助读者构建和维护一个健壮的自动化测试环境。

热门文章

最新文章