成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

1.6 萬 Star!微軟谷歌都在用 Python 性能測試工具

新聞 開發(fā)工具
Locust是一款Python技術(shù)棧的開源的性能測試工具。Locust直譯為蝗蟲,寓意著它能產(chǎn)生蝗蟲般成千上萬的并發(fā)用戶。

 Locust是一款Python技術(shù)棧的開源的性能測試工具。Locust直譯為蝗蟲,寓意著它能產(chǎn)生蝗蟲般成千上萬的并發(fā)用戶。

Locust并不小眾,從它Github的Star數(shù)量就可見一斑:

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

截止文章寫作時,一共15951Star。

Locust生態(tài)良好,它已在多家外企(包括世界500強)投入使用:

如此看來,Locust是非常值得學(xué)習(xí)和掌握的一款工具。

Python的魔力在于化繁為簡,基于Python的Locust也能給仍然困惑于性能測試的我們帶來啟發(fā)。

Locust特點

  • 以純Python方式編寫用戶腳本,提供極大自由度。
  • 用戶腳本可以串行方式編寫,Locust會通過輕量級進程/協(xié)程產(chǎn)生并發(fā),無需自己做并發(fā)編程。
  • 并發(fā)量大,借助于gevent庫,Locust能產(chǎn)生成千上萬并發(fā)請求。
  • 開銷小,Locust用戶運行時開銷很小。
  • 良好的Web UI對性能結(jié)果實時監(jiān)測。
  • 能測任何系統(tǒng)任何協(xié)議,只需要寫個client即可。
  • 開放REST API,盡情發(fā)揮。

安裝Locust

需要Python版本3.6及以上。

執(zhí)行pip命令:

  1. $ pip install locust 

驗證安裝成功:

  1. $ locust -V 

安裝時會一并安裝依賴庫:

  1. Installing collected packages: Werkzeug, pywin32, zope.event, greenlet, gevent, geventhttpclient, itsdangerous, flask, Flask-BasicAuth, ConfigArgParse, pyzmq, psutil, locust 

能看出來flask為Locust提供了Web功能。

快速上手

使用Locust一般按照以下步驟進行:

  1. 編寫Python用戶腳本。
  2. 使用locust命令執(zhí)行性能測試。
  3. (可選)通過Web界面監(jiān)測結(jié)果。

示例代碼如下,新建locustfile.py文件:

  1. import time 
  2.  
  3. from locust import HttpUser, task, between 
  4.  
  5. class QuickstartUser(HttpUser): 
  6.  
  7. wait_time = between(12.5
  8.  
  9. @task 
  10.  
  11. def hello_world(self): 
  12.  
  13. self.client.get("/hello"
  14.  
  15. self.client.get("/world"
  16.  
  17. @task(3
  18.  
  19. def view_items(self): 
  20.  
  21. for item_id in range(10): 
  22.  
  23. self.client.get(f"/item?id={item_id}", name="/item"
  24.  
  25. time.sleep(1
  26.  
  27. def on_start(self): 
  28.  
  29. self.client.post("/login", json={"username":"foo""password":"bar"}) 

路徑切換到locustfile.py文件所在目錄,執(zhí)行命令:

  1. $ locust 

也可以通過-f指定某個目錄文件:

  1. $ locust -f locust_files/my_locust_file.py 

運行后,打開http://127.0.0.1:8089看到Web界面:

填寫信息后,就能開始壓測了。Web界面提供了結(jié)果統(tǒng)計數(shù)據(jù):

和性能指標(biāo)走勢圖:

腳本解析

示例腳本解析如下:

  1. # Locust用戶腳本就是Python模塊 
  2.  
  3. import time 
  4.  
  5. from locust import HttpUser, task, between 
  6.  
  7. # 類繼承自HttpUser 
  8.  
  9. class QuickstartUser(HttpUser): 
  10.  
  11. # 每個模擬用戶等待1~2.5秒 
  12.  
  13. wait_time = between(12.5
  14.  
  15. # 被@task裝飾的才會并發(fā)執(zhí)行 
  16.  
  17. @task 
  18.  
  19. def hello_world(self): 
  20.  
  21. # client屬性是HttpSession實例,用來發(fā)送HTTP請求 
  22.  
  23. self.client.get("/hello"
  24.  
  25. self.client.get("/world"
  26.  
  27. # 每個類只會有一個task被選中執(zhí)行 
  28.  
  29. 3代表weight權(quán)重 
  30.  
  31. # 權(quán)重越大越容易被選中執(zhí)行 
  32.  
  33. # view_items比hello_wolrd多3倍概率被選中執(zhí)行 
  34.  
  35. @task(3
  36.  
  37. def view_items(self): 
  38.  
  39. for item_id in range(10): 
  40.  
  41. # name參數(shù)作用是把統(tǒng)計結(jié)果按同一名稱進行分組 
  42.  
  43. # 這里防止URL參數(shù)不同會產(chǎn)生10個不同記錄不便于觀察 
  44.  
  45. # 把10個匯總成1"/item"記錄 
  46.  
  47. self.client.get(f"/item?id={item_id}", name="/item"
  48.  
  49. time.sleep(1
  50.  
  51. # 每個模擬用戶開始運行時都會執(zhí)行 
  52.  
  53. def on_start(self): 
  54.  
  55. self.client.post("/login", json={"username":"foo""password":"bar"}) 

小結(jié)

本文先了解了Locust的背景和生態(tài),它是值得學(xué)習(xí)的,對于Python技術(shù)棧來說更加如此。接著介紹了使用pip命令安裝Locust,其中發(fā)現(xiàn)順帶安裝了flask,Locust的Web功能是flask提供的。

然后給出了一段示例代碼,按照步驟上手Locust。最后對示例代碼進行了解析,淺嘗輒止。locustfile實際上該怎么寫呢?

 

責(zé)任編輯:張燕妮 來源: 開源前哨
相關(guān)推薦

2021-05-07 07:27:51

Python測試工具

2010-06-07 14:42:47

Linux性能測試工具

2012-08-01 10:50:48

性能測試測試架構(gòu)

2010-06-04 16:07:09

Linux 性能測試工

2025-01-26 11:05:23

2024-03-06 18:09:06

Linux性能工具

2016-09-14 11:09:06

Web工具運維

2010-10-15 09:37:14

MySQL性能測試

2010-06-10 17:37:08

Linux 性能測試工

2013-11-13 10:49:50

2020-08-07 08:10:25

開源技術(shù) 工具

2011-04-07 13:53:25

Web工具

2009-06-26 10:22:58

JSF測試

2011-05-31 18:09:05

動態(tài)測試

2013-07-26 09:51:12

網(wǎng)站性能網(wǎng)站測試性能測試

2021-05-13 10:20:44

谷歌工具技術(shù)

2010-06-13 17:16:15

Linux性能測試工具

2022-11-28 11:31:37

2013-08-19 11:03:21

微軟谷歌

2021-02-26 10:46:11

接口測試DiffUnix系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久精品国产一区二区三区不卡 | 免费的av网站| 国产一区二区三区在线看 | 毛片一级片 | 亚洲风情在线观看 | 成人精品视频 | 精品国产一区二区三区久久久蜜月 | 精品综合网 | 一级毛片视频在线观看 | 欧美不卡在线 | 欧美精品在欧美一区二区少妇 | 亚洲精品1 | 亚洲综合区| 欧美午夜影院 | 国产成人短视频在线观看 | 日韩电影中文字幕在线观看 | 亚洲激情网站 | 欧美日韩一区二区三区四区 | 亚洲国产成人av | 日韩成人在线观看 | 中文字幕精品一区二区三区精品 | 在线观看亚洲一区二区 | 日日夜夜天天 | 亚洲视频免费在线观看 | 亚洲欧美视频 | 国产精品久久久久久久毛片 | 久久成人免费 | 爱爱视频在线观看 | 成人欧美一区二区三区色青冈 | 自拍偷拍第一页 | www.youjizz.com日韩 | 99精品免费久久久久久日本 | 国产日批 | 欧美黑人体内she精在线观看 | 欧洲国产精品视频 | 色婷婷av一区二区三区软件 | 日韩免费高清视频 | 岛国毛片在线观看 | 亚洲视频在线播放 | 亚洲97| 国产高清在线精品 |