前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >性能工具之Taurus入门(安装篇)

性能工具之Taurus入门(安装篇)

作者头像
高楼Zee
发布2019-10-29 16:20:19
2.2K0
发布2019-10-29 16:20:19
举报
文章被收录于专栏:7DGroup

前言

相信大家对这个工具都很陌生,国内能搜索到的资料很少,那么为什么突然想起来推荐这个工具呢?第一,我觉得它很好用;第二,为后面介绍的服务端性能自动化框架铺成

Taurus简介

Taurus是 BlazeMeter 的核心组件,其是一个开源自动化框架,用于运行各种开源负载测试工具和功能测试工具,支持的最流行开源压测工具有 JMeter、Selenum、Gatling、The Grnder、Locust 等

官网:https://gettaurus.org/

其的关键特性有:

  • 我们可以使用 YAML 或 JSON 来描述性能测试,这就是我们想要的 test as code
    • 测试方案定义和设计
    • 测试场景参数化和执行
    • 测试场景结果分析
    • 将上述所有流程集成到持续交付流程中
    • 以上所有的自动化
  • 它可以根据我们选择的性能测试类型自动下载对应的工具。比如我们使用JMeter 压测引擎,那么 Taurus 会自动化下载并安装
  • 扩展并抽象了压测引擎,如JMeter,提供了一种创建,运行和分析性能测试的简单方法
  • 支持主流的操作系统 MAC/Linux/window 等

有什么优势?

  • 较为简单使用和升级
  • 脚本易于阅读,易于版本控制,友好的统一DSL(特定领的语言)以定义测试方案
  • 能够支持现有 JMeter(或 Grinder 或 Gatling 或 Selenium)测试引擎的能力
  • 能够支持直接解析原生脚本,如 JMeter JMX文件
  • 能够将多个测试脚本或 DSL驱动的测试合并场景
  • 支持实时报告(不推荐 BlazeMeter 收费 Dashboard)
  • 多种测试输出格式,包括但不限于:
    • 基础测试工具的本机结果格式
    • 测试执行期间的控制台统计信息和伪图形图表
  • 可以定义灵活的通过/失败标准。如果结果超过阈值,则可以自动将测试标记为失败
  • 平台无关性:在可以运行 Python 和 Java 的地方运行

环境准备

Taurus的环境要求:

  • Python 2.7 or higher,推荐 3.x

本文演示在 Centos 7.x 下安装

安装 python3.x

安装 shell 脚本如下:

代码语言:javascript
复制
#!/bin/bash
# author: zuozewei

# 先安装安装几个必须的包,以方便后续的操作
yum -y install wget gcc make  zlib-devel readline-devel  bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel openssl-devel
# 上Python的官网 下载源码包
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
# 解包,解压缩
xz -d Python-3.6.1.tar.xz
tar -xvf Python-3.6.1.tar
# 编译
cd Python-3.6.1
./configure --prefix=/usr/local/python3.6 --enable-optimizations
make
make install
# 为了避免每次都输入一大串路径,加个链接
ln -s /usr/local/python3.6/bin/python3 /usr/bin/python3

测试下版本:

代码语言:javascript
复制
[root@VM_0_10_centos ~]# python3 --version
Python 3.6.1

安装pip3.x

安装 shell 脚本如下:

代码语言:javascript
复制
#!/bin/bash
# author: zuozewei


# 下载源代码
wget --no-check-certificate https://github.com/pypa/pip/archive/9.0.1.tar.gz
tar -zvxf 9.0.1.tar.gz
cd pip-9.0.1

# 使用 Python 3 安装
python3 setup.py install

# 创建链接
ln -s /usr/local/python3.6/bin/pip /usr/bin/pip3

安装Taurus

常规安装

安装 shell 脚本如下:

代码语言:javascript
复制
#!/bin/bash
# author: zuozewei

# 下载安装
sudo pip3 install bzt

# 创建链接
sudo ln -s /usr/local/python3.6/bin/bzt /usr/bin/bzt

验证命令:

代码语言:javascript
复制
$ bzt -h
Usage: bzt [options] [configs] [-aliases]

BlazeMeter Taurus Tool v1.13.9, the configuration-driven test running engine

Options:
  -h, --help            show this help message and exit
  -l LOG, --log=LOG     Log file location
  -o OPTION, --option=OPTION
                        Override option in config
  -q, --quiet           Only errors and warnings printed to console
  -v, --verbose         Prints all logging messages to console
  -n, --no-system-configs
                        Skip system and user config files
Docker Image

CentOS7 系统 CentOS-Extras 库中已带 Docker,可以直接安装:

代码语言:javascript
复制
$ sudo yum install docker

安装之后启动 Docker 服务,并让它随系统启动自动加载:

代码语言:javascript
复制
$ sudo service docker start
$ sudo chkconfig docker on

拉取镜像:

代码语言:javascript
复制
$ docker pull blazemeter/taurus

注意:如果是默认的Docker 官方镜像源会慢的抓狂,最好对你的 Docker 镜像源做加速设置,参考以下链接:

  • 阿里云:https://help.aliyun.com/document_detail/60750.html?spm=a2c4g.11186623.4.1.56254685aFuWTn
  • 腾讯云:https://cloud.tencent.com/document/product/457/9113

查看已完整镜像:

代码语言:javascript
复制
[root@VM_0_10_centos ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
docker.io/blazemeter/taurus   latest              3ab3eb131ed8        9 days ago          3.08 GB

小结

本文带着大家快速搭建起来 Taurus 使用环境,为后续的实践部分做准备。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 7DGroup 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Taurus简介
  • 有什么优势?
  • 环境准备
    • 安装 python3.x
      • 安装pip3.x
        • 安装Taurus
          • 常规安装
          • Docker Image
      • 小结
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档