(二)Locust 安裝
Locust 是基於 Python 語言的一個性能測試庫,如果要想使用它來做性能測試必須要先安裝 Python 。
Python安裝,參考
Locust 安裝
方式一:通過 pip 命令安裝
> pip install locust
Collecting locust
Downloading locust-0.8.tar.gz (225kB)
59% |███████████████████ | 133kB 199kB/s eta 0:00:0
63% |████████████████████▍ | 143kB 304kB/s eta 0:00:
68% |█████████████████████▉ | 153kB 358kB/s eta 0:0
72% |███████████████████████▎ | 163kB 355kB/s eta 0:
77% |████████████████████████▊ | 174kB 421kB/s eta
81% |██████████████████████████▏ | 184kB 449kB/s eta
86% |███████████████████████████▋ | 194kB 439kB/s e
90% |█████████████████████████████ | 204kB 487kB/s
95% |██████████████████████████████▌ | 215kB 492kB/s
99% |████████████████████████████████| 225kB 487kB
100% |████████████████████████████████| 235kB 417k
....
方式二:GitHub下載安裝
GitHub項目地址:https://github.com/locustio/locust/
將項目克隆下來,通過Python 執行 setup.py 文件
...\locust> python setup.py install
running install
running bdist_egg
running egg_info
creating locustio.egg-info
writing locustio.egg-info\PKG-INFO
writing dependency_links to locustio.egg-info\dependency_links.txt
writing entry points to locustio.egg-info\entry_points.txt
writing requirements to locustio.egg-info\requires.txt
writing top-level names to locustio.egg-info\top_level.txt
writing manifest file ‘locustio.egg-info\SOURCES.txt‘
...
最後,檢查是否安裝成功。打開Windows命令提示符,輸入 “locust –help” 回車。
> locust --help
Usage: locust [options] [LocustClass [LocustClass2 ... ]]
Options:
-h, --help show this help message and exit
...
每個參數的含義,將會放到後面介紹。
安裝依賴分析
這裏想簡單介紹 Locust 都基於了哪些庫。打開 Locust 安裝目錄下的 setup.py 文件。查看安裝要求:
install_requires=[“gevent>=1.1.2”, “flask>=0.10.1”, “requests>=2.9.1”, “msgpack-python>=0.4.2”, “six>=1.10.0”, “pyzmq==15.2.0”]
gevent 是在 Python 中實現協程的一個第三方庫。協程,又稱微線程(Coroutine)。使用gevent可以獲得極高的並發性能。
flask 是 Python 的一個 Web 開發框架。
Requests 用來做 HTTP 接口測試。
msgpack-python 是一種快速、緊湊的二進制序列化格式,適用於類似JSON的數據。
six 提供了一些簡單的工具用來封裝 Python2 和 Python3 之間的差異性。
pyzmq 如果你打算運行 Locust 分布在多個進程/機器,建議你安裝pyzmq。
當我們在安裝 Locust 時,它會檢測我們當前的 Python 環境是否已經安裝了這些庫,如果沒有安裝,它會先把這些庫一一裝上。並且對這些庫版本有要求,有些是必須等於某版本,有些是大於某版本。我們也可以事先把這些庫全部按要求裝好,再安裝Locust時就會快上許多。
(二)Locust 安裝