1. 程式人生 > >Locust介面壓力測試

Locust介面壓力測試

簡介:  

 Locust是一個可擴充套件的,分散式的,開源的,用Python編寫的壓力測試工具。

Locust完全是事件驅動的,因此在單臺機器上能夠支援上萬併發使用者訪問。與其它許多基於事件的應用相比,Locust並不使用回撥,而是使用gevent,而gevent是基於協程的,可以用同步的方式來編寫非同步執行的程式碼。每個使用者實際上執行在自己的greenlet中。

特點:

①用python編寫測試指令碼,簡單輕便,基於協同而非回撥。

②分散式的,可擴充套件性的,可模擬上百萬使用者。支援多機器的效能測試。

③提供web使用者介面,實時顯示相關測試細節。

④可以測試任何系統,儘管Locust是基於網站的,但它幾乎可以測試任何系統。

下面將在linux系統中安裝locust。

一、安裝依賴:

1)安裝Python

2)安裝pyzmq

pip install pyzmq
or:
easy_install pyzmq

Locust安裝:

pip install locustio
or:
easy_install locustio

檢視是否安裝成功:

locust --help

編寫介面壓測指令碼檔案locustfile.py:

from locust import HttpLocust, TaskSet

def getSomething(l):
    l.client.get("/test/getSomething") //介面路由

class UserBehavior(TaskSet):
    tasks = {getSomething: 1}

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    host = "http://192.168.15.129" //服務地址
    min_wait = 5000
    max_wait = 9000

檢視系統open files數量:

ulimit -n 

修改:

sudo vim /etc/security/limits.conf

* soft nofile 65535

* hard nofile 65535

退出終端重新登入.

檢視是否修改成功:

啟動locust:

locust -f  /你檔案的目錄/locustfile.py

開啟web介面:

設定模擬使用者數,和每秒增加的使用者數

開始壓測:

done.

相關推薦

Locust介面壓力測試

簡介:    Locust是一個可擴充套件的,分散式的,開源的,用Python編寫的壓力測試工具。 Locust完全是事件驅動的,因此在單臺機器上能夠支援上萬併發使用者訪問。與其它許多基於事件的應用相比,Locust並不使用回撥,而是使用gevent,而gevent是基於

記一次Grpc介面壓力測試&效能調優

〇、經驗總結: 如果在壓測過程中,壓力始終上不去,可以考慮是施壓機器併發上不去,或者被壓機器請求處理不過來。 施壓上不去或者被壓機器請求處理不過來,是因為機器CPU瓶頸?記憶體瓶頸?埠數量瓶頸?逐步排查定位。 類似於Grpc這類需要建立rpc連線的請求,可擴充套

Locust 介面效能測試

記錄一下介面效能測試的學習 先熟悉一下概念: Locust是使用Python開發的支援分散式的一款開源壓力測試工具,Locust在測試時,會產生大量的使用者對系統進行訪問,每個使用者的行為是通過Python程式碼控制的,並且整個測試過程可以在Web的UI介面實時觀察測試資

介面壓力測試工具使用

最近在測試介面的時候發現有不正常返回的情況,嘗試使用ab,webbench等工具做壓力測試,但在測試的過程中有個問題,就是工具只能返回介面呼叫次數,不捕捉介面返回狀態,使用siege工具,可以檢視介面返回狀態,感覺併發請求不準確。 後來使用webbench+siege結合的

api介面壓力測試

可藉助Apache元件進行壓力測試E:\phpStudy\Apache\bin\ab.exe  使用於http請求E:\phpStudy\Apache\bin\abs.exe 使用於https請求出現如下圖就是請求成功的,執行命令abs.exe  -c 60 -n 1000

Jmeter傳送SOAP請求對WebService介面壓力測試

Jmeter也可以對WebService介面測試並進行壓力測試 1、本次例項介面(業務開通介面) <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http:/

JMeter介面壓力測試實戰教程

章節一壓力測試課程介紹 1、2018年億級流量壓測系列之Jmeter4.0課程介紹和效果演示          簡介:               講解課程安排,使用的Jmeter版本               講課風格:涉及的元件,操作配置多,不會一次性講解,

python locust介面效能測試HTTPS網站報錯:Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certi

問題描述: 測試HTTPS SSL 協議的網站介面,用Python Locust模組,不論POST還是GET都提示錯誤: SSLError Max retries exceeded with url: /action.php?m=upload  (Caused by SSL

LR做介面壓力測試時,後臺列印日誌的異常資訊

一、環境:tomcat         應用:web service 介面(java) 二、LR 11、Cent Os 三、併發人數5人,不做遞度設定,不設定 思考時間 ,設定PACING 為隨機1秒至2秒 四、TOMCAT日誌列印的資訊: 警告: Intercepto

LR介面壓力測試指令碼範例

    做過一段時間的介面測試任務,下面把一段介面測試的指令碼分享出來: Action() {         int rev=0;         web_service_call( "StepName=getPlanData_104",                   "SOAPMeth

用Jmeter進行介面壓力測試的步驟

1、雙擊jmeter.bat  2、右鍵點選測試規劃à新增àThreadsà執行緒組,此時在測試規劃下邊顯露出來執行緒組選項。點選該選項,顯露出來執行緒組介面。參變數執行緒數表達若干個煩請,參變數Ramp-Up Period表達在多長時間內跑完全部的煩請,迴圈回數表達同一

Locust 登陸壓力測試

debugtalk 大大很早就在國內給大家介紹過locust. 在他的博文裡有講解有例子。真正實用得自己在專案中還得靠自己靈活應用。http://debugtalk.com/post/head-first-locust-advanced-script/1. 按照locust.

2、Locust壓力測試 實戰

set 實戰 時間 行為 taskset 毫秒 第一個 分享 請求 創建測試腳本 創建Test()類繼承TaskSet類 創建beigong() 方法表示一個行為,訪問北弓官網首頁。用@task() 裝飾該方法為一個任務。1表示一個Locust實例被挑選執行的

Locust壓力測試使用總結

上次做介面壓力測試前一直研究使用jmeter,本以為可以拿來使用了,但是真正進行併發介面時,發現jmeter在單機下併發1000個時,臺式電腦單機資源早就被使用完,整個jmeter卡得死死的,結果那晚使用jmeter併發失敗,幸好之前也準備了另外一個壓測小公舉Apache

使用 WRK 壓力測試工具對 ASP.NET Core 的介面進行壓力測試

0. 簡要介紹 WRK 是一款輕量且易用的 HTTP 壓力測試工具,通過該工具我們可以方便地對我們所開發的 WebAPI 專案進行壓力測試,並且針對測試的情況返回結果。 PS:Wrk 並不能針對測試的結果生成動態的圖表,如果有這種需要,可以嘗試使用另一款工具 Vegeta。該專案使用的 Golang 進行編

Mac安裝--locust壓力測試

Mac安裝--locust壓力測試 在mac上搭建locust壓力測試伺服器 1:進入管理員模式 # sudo su 2:檢視python版本 sh-3.2# python -V Python

Jmeter介面測試+壓力測試

jmeter是apache公司基於java開發的一款開源壓力測試工具,體積小,功能全,使用方便,是一個比較輕量級的測試工具,使用起來非常簡單。因為jmeter是java開發的,所以執行的時候必須先要安裝jdk才可以。jmeter是免安裝的,拿到安裝包之後直接解壓就可以使用,同

使用Jmeter進行介面測試壓力測試的配置和使用

1. Jmeter簡介 Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴充套件到其他測試領域。 JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來自不

JMeter做壓力測試,先呼叫第一介面,拿到返回值後去呼叫第二個介面(小白級入門)

1、開啟介面建立執行緒組,並取一個名稱 2、執行緒組下建立一個http請求,並進行配置 3、指定動態引數 名字必須和上面第二步介面中${XXX}符號裡面的名稱保持一致

postman介面測試壓力測試

KSKnowledge Sharing知識分享    現在是資源共享的時代,同樣也是知識分享的時代,如果你覺得本文能學到知識,請把知識與別人分享。前言現在很多公司寫後端程式碼和前端程式碼已經分工很明確了,前後端把介面定義好,然後各自寫各自的程式碼就可以了。那麼對於服務端的開發