閱讀全文需5分鍾。
1. 前言
在上一篇文章中,我們已經為大家介紹了什么是Locust,具體可參照:性能專題:Locust工具實戰之開篇哲學三問,簡單來說,Locust 是基於 Python 語言下的一個性能測試庫,如果要想使用它來做性能測試必須要先安裝 Python。
Locust支持的Python版本有:2.7, 3.5, 3.6, 3.7, 3.8。
Python安裝較為簡單,此處省略,以Python3.8為例,讀者可自行查閱官網安裝使用介紹。
https://docs.python.org/3/using/index.html
2. 為何取名“蝗蟲降世”
本篇在標題上面,賣弄了一下關子,原名應該為: 《性能專題:Locust工具實戰之Locust安裝》,但想想,Locust意為“蝗蟲”,安裝本身的“作用”無非也是讓一個事物,從沒有到有一個過程。一篇文章,優質的內容固然重要,但一個具有吸引力、有創意的標題也同等重要,想起今年上映的一部備受好評的電影:《哪吒之魔童降世》,正因為這個名稱,才吸引我去電影院觀看,也算是我為這部電影50億高票房,貢獻了一點綿薄之力,因此本篇文章,改名為“蝗蟲降世”。
3. Loucst 安裝
Locust安裝過程並不難,常見的有兩種安裝方式。
第一種,直接通過PIP命令形式安裝,
Python 2.7:
$ python -m pip install locustio
或
$ pip install locustio
Python 3:
$ python3 -m pip install locustio
或
$pip3 install locustio
除此之外,還可以根據項目源碼地址指定分支的形式來安裝locust。
以Python 3為例,安裝master分支上面的代碼。
$ python3 -m pip install -e git://github.com/locustio/locust.git@master#egg=locustio
方式二,GitHub下載安裝
1、進入到Locust GitHub項目地址:
https://github.com/locustio/locust/
2、將項目克隆下來,通過Python 執行 setup.py 文件
...\locust> python setup.py install
安裝成功后可以輸入 `pip show locust` 命令查看是否安裝成功,以及通過 `locust -help` 命令查看幫助信息。
PS: 當前最新Locust版本為0.13.2
注意事項:
運行大規模測試時,建議在Linux機器上執行此操作,因為gevent在Windows下的性能比Linux下面要差很多。
如果打算運行Locust 分布在多個進程/機器,需要安裝pyzmq。
更詳細的安裝介紹可參照官方安裝文檔:
https://docs.locust.io/en/stable/installation.html#installing-locust-on-macos
4. Locust 安裝依賴分析
這里簡單介紹 Locust 都基於了哪些庫。打開 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中實現協程的第三方庫(一種網絡庫),協程又叫微線程Corouine,使用gevent可以獲取極高的並發能力。
flask:Python下的一個Web開發框架,和Django相當。
requests:支持HTTP/HTTPs請求訪問的庫。
msgpack-python:一種快速、緊湊的二進制序列化格式,使用類似JSON的數據,主要提供MessagePack數據序列化及反序列化的方法。
six:Python 2和Python 3兼容庫,用來封裝處理Python 2和Python 3之間的差異性。
pyzmq:主要用來實現Locust的分布式模式運行,安裝這個第三方庫,可以把Locust運行在多個進程或多個機器(分布式)。
當我們在安裝 Locust 時,它會檢測我們當前的 Python 環境是否已經安裝了這些庫,如果沒有安裝,它會先把這些庫一一裝上。並且對這些庫版本有要求,有些是必須等於某版本,有些是大於某版本。我們也可以事先把這些庫全部按要求裝好,再安裝Locust時就會快上許多。
5. 小結
本文介紹了Locust安裝方法,也是為后續Locust實戰示例,提前准備好環境。如果你對Locust性能工具已經提起學習興趣了,請趁早動手起來。
未完待續,下一篇開始實戰~
希望這篇文章能幫到你!更多干貨文章請關注我們。