在负载生成器机器上使用SSD,如果运行批量索引基准测试,Rally会从磁盘上读取一个或多个数据文件。通常会配置多个客户端,每个客户端读取数据文件的一部分。这种随机访问模式对于旋转磁盘来说性能很差。为避免客户端出现意外瓶颈,因此应在每台负载生成器机器上使用SSD。
Python:Pyhton3.8+,pyhton3在path上使用,可通过python3 --version验证。Python3头文件(包含在pyhton3-dev软件包中)。pip3在path上可用,可通过pip3 --version验证。官方建议使用pyenv来管理Python的安装。
Git:Git1.9+,可通过git --version验证。如果使用RHEL,则需要通过RHSCL安装最新版本的git。
如果满足以下两个条件则可不安装GIt,否则必须安装。
PbZip2:强烈建议安装pbzip2来加速Rally标准track语料的解压。如果自定义的track使用的gzip压缩的语料而不是bzip2,建议安装pigz加速此过程。MacOS通过Homebrew安装(brew install pbzip2)。
JDK:所有要运行Elasticsearch的机器上都要安装JDK。如果Rally只是做为远程集群基准测试的负载生成器则不需要安装。为了使Rally找到JDK,需要在所有的目标机器上设置环境变量JAVA_HOME。此外还可以通过JAVAx_HOME设置环境变量,其中x是JDK的主版本,如JAVA8_HOME指向JDK8安装目录,Rally将选择每个Elasticsearch可用的JDK的最高版本。
1.确保~/.local/bin在PATH中。
2.安装Rally:python3 -m pip install --user esrally。
如果安装期间出错,可能是由于安装psutil导致的,Rally使用psutil收集系统指标。确保安装了前提条件中的python-dev软件包。
还可以通过以下方式安装Rally
可以使用Virtualenv将Rally安装到没有sudo的隔离Python环境中。
1.在一个目录中执行python3 -m venv建立一个新的virtualenv环境。
2.执行source /path/to/virtualenv/dir/bin/activate激活环境。
3.执行python3 -m pip install esrally安装Rally。
当需要使用Rally时,需要先通过第二步的activate命令激活环境,使用完后通过deactivate退出虚拟环境。
如果Linux服务器无法访问Internet,可以使用Rally的脱机安装包进行安装。
1.下载最新版本的脱机安装包,然后将其复制到目标机器。
2.执行tar -xzf esrally-dist-linux-*.tar.gz解压缩安装包
3.执行安装脚本sudo ./esrally-dist-linux-*/install.sh。
如果不实用多机进行压测,并且只进行基准测试,可以还选择Docker安装Rally。