性能测试工具的使用

212 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

PEF (Performance Testing Framework)

0. 简介

PEF是一个性能测试框架,确切地说,它是一个locust的slave进程,用于实际的压测执行。它使用golang编写,基于boomer与locust](github.com/myzhan/boom…%25E4%25B8%258Elocust)%25C2%25A0master%25E4%25BA%25A4%25E4%25BA%2592%25E3%2580%2582%25C2%25A0locust "github.com/myzhan/boom…") master节点用于监控和收集实时压测结果

1. 安装

以下步骤针对Linux和Mac用户,Windows用户请使用go build自行编译,pef的目标文件只有一个二进制文件,在command line中运行编译得到的文件即可。

1.1. 安装

在所有施压机上都需要安装pef的rpm包

# 统一测试环境中,如果存在yum.dx.corp的yum源,直接用yum安装
yum install -y pef

# 拷贝pef-xxx.rpm到环境中
yum install ./pef-*.rpm

安装完成后,可以在/usr/local/bin目录下找到pef文件。

1.2. 安装locust

要求本地已安装有docker环境

# 本地可以访问harbor
docker pull locust

# 导入包含locust的tar.gz文件
docker load < locust.tar.gz

2.使用

pef [general|dns] --help

2.1. 启动locust

只需要在一台施压机上启动locust即可,locust master本身不执行压测,实时监控和收集压测结果

# 启动locust master
docker run --restart always --name locust --network host -d locust

2.2. 启动pef分布式压测

在所有施压机上都需要启动pef,每个施压机作为一个slave节点用于实际的压测执行(机器资源充足条件下推荐)
或者在同一台施压机启动多个pef进程,每个进程作为一个slave节点用于实际的压测执行,进程数<=CPU总数(机器资源不充足条件下推荐)