摘要:頁面數(shù)據(jù)說明性能測試參數(shù)請求的類型,例如。當前請求失敗的數(shù)量。中間值,單位毫秒,一半的服務器響應時間低于該值,而另一半高于該值。平均值,單位毫秒,所有請求的平均響應時間。單個請求的大小,單位字節(jié)。
寫在前面:此文章在通過學習、實踐網(wǎng)絡資料寫成,相關(guān)鏈接在文章結(jié)尾。一、簡介
1、locust是一種可用python編寫腳本的開源壓測工具(實質(zhì)是由python下的一些庫構(gòu)成),可定義用戶行為,模擬并發(fā)訪問,從而觀測系統(tǒng)的性能與瓶頸。
2、特點:
(1)完全基于python,且http請求完全基于Requests庫;除了http/https協(xié)議,locust也可測試其他協(xié)議的系統(tǒng),只需采用python調(diào)用對應的庫進行請求描述即可;
(2)locust的并發(fā)機制摒棄了進程和線程,采用協(xié)程(gevent)機制,避免了系統(tǒng)級資源調(diào)度,可大幅提高單機的并發(fā)能力。
3、依賴的第三方的庫:(在https://github.com/locustio/l... 中的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"])
(1)gevent是python中實現(xiàn)協(xié)程(微線程)的一個第三方庫;
(2)flask是python的一個web開發(fā)框架;
(3)requests接口庫是python下可用來做http接口測試的庫;
(4)msgpack-python是一種快速緊湊二進制序列化結(jié)果,適用于類似json的數(shù)據(jù);
(5)six:提供一些簡單工具來封裝python2和python3之間的差異;
(6)pyzmq:如果打算運行l(wèi)ocust分布在多個進程/機器,最后安裝此庫。
1、安裝locust
locust可以通過python的pip命令安裝,因為我使用的是Mac,它是自帶python的,但并不含pip,所以還需下載pip包。打開終端,執(zhí)行以下步驟:
a、安裝easy_install:
curl https://bootstrap.pypa.io/ez_... -o - | sudo python
b、安裝pip:
sudo easy_install pip(若不成功可嘗試sudo easy_install-3.6 pip 或者sudo easy_install-2.7 pip),執(zhí)行后再輸入電腦密碼(不可見)再回車確認即可;
c、安裝locust:
方法一:pip install locustio
方法二(推薦python3使用):從GitHub項目地址:https://github.com/locustio/l...
下載項目,在終端下來到項目路徑,執(zhí)行:python setup.py install
d、驗證是否安裝成功:locust --help
e、如果未來可能運行Locust 分布在多個進程/機器,建議安裝pyzmq:pip install pyzmq
2、補充(待學習)
(1)如果使用的Mac,其實不建議用其自帶的python,因為一旦將python折騰崩潰,將可能影響到系統(tǒng)。解決辦法是安裝homebrew(https://brew.sh),在終端中輸入:brew install python,還可指定python的版本,需要將此版本python的環(huán)境變量設置在系統(tǒng)自帶python的環(huán)境變量之前,且此方法安裝的python中將含有pip。
(2)可使用python的包管理工具anaconda。
1、創(chuàng)建load_test.py文件,內(nèi)容為:
from locust import HttpLocust, TaskSet, task class UserBehavior(TaskSet): @task(1) def baidu(self): self.client.get("/") class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 3000 max_wait = 6000
2、在終端中來到load_test.py所在目錄下,輸入:
locust -f load_test.py --host=https://www.baidu.com
若正常運行則將看到:
[2017-11-28 17:39:47,262] appledeMacBook-Air-3.local/INFO/locust.main: Starting web monitor at :8089
[2017-11-28 17:39:47,263] appledeMacBook-Air-3.local/INFO/locust.main: Starting Locust 0.8.1*
3、打開瀏覽器訪問:http://127.0.0.1:8089
(1)設置模擬用戶數(shù)和每秒產(chǎn)生用戶數(shù),然后點擊Start swarming 開始運行性能測試。
(2)頁面數(shù)據(jù)說明——statistics:
<性能測試參數(shù)>
Type: 請求的類型,例如GET/POST。
Name:請求的路徑。這里為百度首頁,即:https://www.baidu.com/
request:當前請求的數(shù)量。
fails:當前請求失敗的數(shù)量。
Median:中間值,單位毫秒,一半的服務器響應時間低于該值,而另一半高于該值。
Average:平均值,單位毫秒,所有請求的平均響應時間。
Min:請求的最小服務器響應時間,單位毫秒。
Max:請求的最大服務器響應時間,單位毫秒。
Content Size:單個請求的大小,單位字節(jié)。
reqs/sec:是每秒鐘請求的個數(shù)。
官方文檔
本文主要參考資料
進一步學習locust請戳
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/44521.html
摘要:發(fā)現(xiàn)一款很贊的壓力測試軟件,開源的哦,用編寫測試腳本,定義用戶行為,可以模擬數(shù)百萬用戶的訪問,從而觀測系統(tǒng)的性能與瓶頸官方網(wǎng)站特點編寫腳本,定義用戶的行為分布式,可擴展安裝使用簡單需求安裝命令參數(shù)編輯腳本執(zhí)行腳本瀏覽器打開出現(xiàn)一個 發(fā)現(xiàn)一款很贊的壓力測試軟件Locust,開源的哦,用 python 編寫測試腳本,定義用戶行為,可以模擬數(shù)百萬用戶的訪問,從而觀測系統(tǒng)的性能與瓶頸! 官方網(wǎng)...
摘要:有向無環(huán)圖,以下簡稱是其中的代表之一。的去中心化和可擴展性可認為是一體兩面的,因為基于數(shù)據(jù)結(jié)構(gòu)帶來的異步記賬特性,同時實現(xiàn)了高度的參與網(wǎng)絡節(jié)點的去中心化和交易的可擴展性。因此,目前對于雙花問題,需要綜合考慮實際情況進行設計。 本報告由火幣區(qū)塊鏈研究院出品,作者:袁煜明、胡智威。原文地址 相關(guān)報告: 【超越白皮書2】EOS主網(wǎng)上線前夕的實測分析與技術(shù)建議 【超越白皮書1】EOSIO程序?qū)?..
摘要:服務器市場份額。子進程負責創(chuàng)建由指令設置的服務器線程,同時還負責監(jiān)聽接收到的請求,并將請求分發(fā)給處理線程。在版本引入了模塊,這個模塊基于模塊創(chuàng)建的,并加入了獨立的監(jiān)聽線程來管理請求處理完成后的休眠的連接?;谑录姆掌魍陝?。 譯文首發(fā)于 Apache 與 Nginx 性能對比:Web 服務器優(yōu)化技術(shù),轉(zhuǎn)載請注明出處。 多年前 Apache 基金會 Web 服務器 簡稱「Apache」...
摘要:服務器市場份額。子進程負責創(chuàng)建由指令設置的服務器線程,同時還負責監(jiān)聽接收到的請求,并將請求分發(fā)給處理線程。在版本引入了模塊,這個模塊基于模塊創(chuàng)建的,并加入了獨立的監(jiān)聽線程來管理請求處理完成后的休眠的連接?;谑录姆掌魍陝?。 譯文首發(fā)于 Apache 與 Nginx 性能對比:Web 服務器優(yōu)化技術(shù),轉(zhuǎn)載請注明出處。 多年前 Apache 基金會 Web 服務器 簡稱「Apache」...
閱讀 1972·2021-11-15 11:39
閱讀 1314·2021-10-18 13:29
閱讀 1287·2021-08-31 09:42
閱讀 2820·2019-08-30 11:11
閱讀 2184·2019-08-26 12:12
閱讀 2176·2019-08-26 10:17
閱讀 3485·2019-08-23 18:38
閱讀 3295·2019-08-23 18:38