电竞比分网-中国电竞赛事及体育赛事平台

分享

性能專題:Locust工具實(shí)戰(zhàn)之“蝗蟲(chóng)”降世

 測(cè)試開(kāi)發(fā)技術(shù) 2022-06-18 發(fā)布于廣東

第一時(shí)間獲取測(cè)試技術(shù)干貨!


往期性能專題:

性能專題:Locust工具實(shí)戰(zhàn)之開(kāi)篇哲學(xué)三問(wèn)

性能專題:性能測(cè)試實(shí)施全過(guò)程指南

性能專題:一文搞懂性能測(cè)試常見(jiàn)指標(biāo)

性能專題:一文搞懂,性能測(cè)試指標(biāo)評(píng)估方法

閱讀全文需5分鐘。

1. 前言

在上一篇文章中,我們已經(jīng)為大家介紹了什么是Locust,具體可參照:性能專題:Locust工具實(shí)戰(zhàn)之開(kāi)篇哲學(xué)三問(wèn),簡(jiǎn)單來(lái)說(shuō),Locust 是基于 Python 語(yǔ)言下的一個(gè)性能測(cè)試庫(kù),如果要想使用它來(lái)做性能測(cè)試必須要先安裝 Python。

Locust支持的Python版本有2.7, 3.5, 3.6, 3.7, 3.8。

Python安裝較為簡(jiǎn)單,此處省略,以Python3.8為例,讀者可自行查閱官網(wǎng)安裝使用介紹。

https://docs./3/using/index.html

2. 為何取名“蝗蟲(chóng)降世”

本篇在標(biāo)題上面,賣弄了一下關(guān)子,原名應(yīng)該為: 《性能專題:Locust工具實(shí)戰(zhàn)之Locust安裝》,但想想,Locust意為“蝗蟲(chóng)”,安裝本身的“作用”無(wú)非也是讓一個(gè)事物,從沒(méi)有到有一個(gè)過(guò)程。一篇文章,優(yōu)質(zhì)的內(nèi)容固然重要,但一個(gè)具有吸引力、有創(chuàng)意的標(biāo)題也同等重要,想起今年上映的一部備受好評(píng)的電影:《哪吒之魔童降世》,正因?yàn)檫@個(gè)名稱,才吸引我去電影院觀看,也算是我為這部電影50億高票房,貢獻(xiàn)了一點(diǎn)綿薄之力,因此本篇文章,改名為“蝗蟲(chóng)降世”。

引用電影宣傳報(bào)一張貼圖,封面上的:“打破,一切是否是非定義” 這句話很有深意,可以適用于很多事物思考,思維層面。

3.  Loucst 安裝

Locust安裝過(guò)程并不難,常見(jiàn)的有兩種安裝方式。

第一種,直接通過(guò)PIP命令形式安裝,

Python 2.7:

$ python -m pip install locustio$ pip install locustio

Python 3:

$ python3 -m pip install locustio$pip3 install locustio

除此之外,還可以根據(jù)項(xiàng)目源碼地址指定分支的形式來(lái)安裝locust。

Python 3為例,安裝master分支上面的代碼。

$ python3 -m pip install -e git://github.com/locustio/locust.git@master#egg=locustio

方式二,GitHub下載安裝

1、進(jìn)入到Locust GitHub項(xiàng)目地址:

https://github.com/locustio/locust/

2、將項(xiàng)目克隆下來(lái),通過(guò)Python 執(zhí)行 setup.py 文件

...\locust> python setup.py install

安裝成功后可以輸入 `pip show locust` 命令查看是否安裝成功,以及通過(guò) `locust -help` 命令查看幫助信息。

PS:  當(dāng)前最新Locust版本為0.13.2

注意事項(xiàng):

  • 運(yùn)行大規(guī)模測(cè)試時(shí),建議在Linux機(jī)器上執(zhí)行此操作,因?yàn)間event在Windows下的性能比Linux下面要差很多。

  • 如果打算運(yùn)行Locust 分布在多個(gè)進(jìn)程/機(jī)器,需要安裝pyzmq。

更詳細(xì)的安裝介紹可參照官方安裝文檔:

https://docs./en/stable/installation.html#installing-locust-on-macos

?

4. Locust 安裝依賴分析

這里簡(jiǎn)單介紹 Locust 都基于了哪些庫(kù)。打開(kāi) Locust 安裝目錄下的 setup.py 文件。查看安裝要求:

install_requires=[        "gevent>=1.2.2",         "flask>=0.10.1",         "requests>=2.9.1",         "msgpack-python>=0.4.2",         "six>=1.10.0",         "pyzmq>=16.0.2",         "geventhttpclient-wheels==1.3.1.dev2",    ]
  • gevent:在Python中實(shí)現(xiàn)協(xié)程的第三方庫(kù)(一種網(wǎng)絡(luò)庫(kù)),協(xié)程又叫微線程Corouine,使用gevent可以獲取極高的并發(fā)能力。

  • flask:Python下的一個(gè)Web開(kāi)發(fā)框架,和Django相當(dāng)。

  • requests:支持HTTP/HTTPs請(qǐng)求訪問(wèn)的庫(kù)。

  • msgpack-python:一種快速、緊湊的二進(jìn)制序列化格式,使用類似JSON的數(shù)據(jù),主要提供MessagePack數(shù)據(jù)序列化及反序列化的方法。

  • six:Python 2和Python 3兼容庫(kù),用來(lái)封裝處理Python 2和Python 3之間的差異性。

  • pyzmq:主要用來(lái)實(shí)現(xiàn)Locust的分布式模式運(yùn)行,安裝這個(gè)第三方庫(kù),可以把Locust運(yùn)行在多個(gè)進(jìn)程或多個(gè)機(jī)器(分布式)。

當(dāng)我們?cè)诎惭b Locust 時(shí),它會(huì)檢測(cè)我們當(dāng)前的 Python 環(huán)境是否已經(jīng)安裝了這些庫(kù),如果沒(méi)有安裝,它會(huì)先把這些庫(kù)一一裝上。并且對(duì)這些庫(kù)版本有要求,有些是必須等于某版本,有些是大于某版本。我們也可以事先把這些庫(kù)全部按要求裝好,再安裝Locust時(shí)就會(huì)快上許多。

5. 小結(jié)

本文介紹了Locust安裝方法,也是為后續(xù)Locust實(shí)戰(zhàn)示例,提前準(zhǔn)備好環(huán)境。如果你對(duì)Locust性能工具已經(jīng)提起學(xué)習(xí)興趣了,請(qǐng)趁早動(dòng)手起來(lái)。

未完待續(xù),下一篇開(kāi)始實(shí)戰(zhàn)~

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多