鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

Esrally运行原理

确定运行模式

  • 第一种:在线基准测试。
    esrally --distribution-version=6.7.0

    命令解释如下:

    Esrally可以在没有ES实例的情况下,去基于某一个ES版本,进行性能测试。那么它的工作流程是:Esrally会首先从Elastic官网下载对应版本的软件,并将其存储在“esrally”目录中。下载完成ES版本后,会继续下载适用于ES产品的性能测试数据。一旦数据下载到本地,将进行性能分析,并最终打印出结果。

  • 第二种:离线测试。
    esrally --pipeline=benchmark-only --target-hosts=90.90.43.202:9200, 90.90.43.204:9200, 90.90.43.206:9200, --offline

    命令参数解释如下:

    • --offline表示离线测试。
    • --pipeline = benchmark-only表示自定义集群时需要使用的pipeline,只进行压测而不去管理ES实例
    • --target-host表示需要测试的目标集群。

目录结构及相关含义

查看当前目录。

pwd

Esrally编译完成后,会在安装Esrally的用户根目录下面生成一个.rally目录,其目录结构如下所示(benchmarks及其子目录需要自己添加):

.
├── benchmarks
│   ├── data
│   │   └── geonames
│   │       ├── documents.json
│   │       └── documents.json.offset
│   ├── races
│   │   ├── 2020-09-24-02-28-11
│   │   │   └── race.json
│   │   └── 2020-09-24-06-40-26
│   │       └── race.json
│   ├── teams
│   │   └── default
│   │       └── cars
│   │           └── v1
│   │               ├── 16gheap.ini
│   │               ├── 1gheap.ini
│   │               ├── 24gheap.ini
│   │               ├── 2gheap.ini
│   │               ├── 4gheap.ini
│   │               ├── 8gheap.ini
│   │               ├── basic-license.ini
│   │               ├── dbg_non_safepoints
│   │               │   └── templates
│   │               │       └── config
│   │               │           └── jvm.options
│   │               ├── debug-non-safepoints.ini
│   │               ├── default_distro
│   │               │   ├── config.ini
│   │               │   └── templates
│   │               │       └── config
│   │               │           └── elasticsearch.yml
│   │               ├── defaults.ini
│   │               ├── ea
│   │               │   └── templates
│   │               │       └── config
│   │               │           └── jvm.options
│   │               ├── ea.ini
│   │               ├── fp
│   │               │   └── templates
│   │               │       └── config
│   │               │           └── jvm.options
│   │               ├── fp.ini
│   │               ├── g1gc.ini
│   │               ├── parallelgc.ini
│   │               ├── trial-license.ini
│   │               ├── unpooled
│   │               │   └── templates
│   │               │       └── config
│   │               │           └── jvm.options
│   │               ├── unpooled.ini
│   │               ├── vanilla
│   │               │   ├── config.ini
│   │               │   ├── README.md
│   │               │   └── templates
│   │               │       └── config
│   │               │           ├── elasticsearch.yml
│   │               │           ├── jvm.options
│   │               │           └── log4j2.properties
│   │               ├── x_pack
│   │               │   ├── base
│   │               │   │   ├── ca
│   │               │   │   │   ├── ca.crt
│   │               │   │   │   └── ca.key
│   │               │   │   └── config.py
│   │               │   ├── ml
│   │               │   │   └── templates
│   │               │   │       └── config
│   │               │   │           └── elasticsearch.yml
│   │               │   ├── monitoring
│   │               │   │   └── templates
│   │               │   │       └── config
│   │               │   │           └── elasticsearch.yml
│   │               │   ├── README.md
│   │               │   └── security
│   │               │       └── templates
│   │               │           └── config
│   │               │               ├── elasticsearch.yml
│   │               │               ├── log4j2.properties
│   │               │               ├── role_mapping.yml
│   │               │               ├── roles.yml
│   │               │               ├── users
│   │               │               └── users_roles
│   │               ├── x-pack-ml.ini
│   │               ├── x-pack-monitoring-http.ini
│   │               ├── x-pack-monitoring-local.ini
│   │               └── x-pack-security.ini
│   └── tracks
│       └── default
│           └── geonames
│               ├── challenges
│               │   └── default.json
│               ├── files.txt
│               ├── index.json
│               ├── operations
│               │   └── default.json
│               ├── __pycache__
│               │   └── track.cpython-37.pyc
│               ├── README.md
│               ├── terms.txt
│               ├── track.json
│               └── track.py
├── logging.json
├── logs
│   ├── rally.log
│   ├── rally.log.2020-09-22
│   └── rally.log.2020-09-23
└── rally.ini
  • “benchmarks/genonames/data/”目录:存放数据。
  • “benchmarks/races”目录:存放结果,运行完程序后自动生成。
  • “benchmarks/teams/default/cars/”目录:要进行的项目,进行压测比赛的考核项,系统已经准备。
  • “benchmarks/tracks/default/genonames/”目录:表示赛道,定义性能压测的规则、策略。
  • logging.json:日志参数。
  • “logs/*”:运行日志。
  • rally.ini:esrally的配置参数。