Locust性能-零基礎入門系列(14)- 日誌(logging)應用

本文介紹Locust在性能測試過程中的日誌管理,這是在測試流程中不可缺少的一步。如後期有什麼問題,在排查問題,或者解決問題時,一個詳盡或者可調試的日誌機制可以提供可能的線索。

我們以一個案例來說明logging的使用方法。locust_file.py如下,logging使用的是python標準庫中的模塊。

from locust import HttpUser, task, between
import logging as log

class MyUser(HttpUser):
    wait_time = between(3,5)

    @task
    def open_blog(self):
        with self.client.get("/13734261/2540530",catch_response=True) as response:
            if response.status_code != 200:
                response.failure("Threre maybe some issues in the requests.")
                log.error("請求執行有錯誤。")
            elif response.elapsed.total_seconds() > 5:
                response.failure("Request took too long")
                log.error("請求響應超過5秒鐘")

            log.info("請求執行成功!")

這樣Locust在執行性能測試時,命令行代碼可以寫爲:
locust -f locust_file_chapter13.py --logfile=locust.log

這樣它就會在當前目錄下創建一個文件“locust.log” ,而不會在默認下的控制檯顯示日誌了。根據如上的locust files,其日誌樣本如下:

[2020-12-03 21:18:28,159] xx.local/INFO/locust.main: Starting web interface at http://:8089
[2020-12-03 21:18:28,167] xx.local/INFO/locust.main: Starting Locust 1.1.1
[2020-12-03 21:18:58,420] xx.local/INFO/locust.runners: Hatching and swarming 1 users at the rate 1 users/s (0 users already running)...
[2020-12-03 21:18:58,421] xx.local/INFO/locust.runners: All users hatched: MyUser: 1 (0 already running)
[2020-12-03 21:18:58,941] xx.local/INFO/root: 請求執行成功!
[2020-12-03 21:19:04,164] xx.local/INFO/root: 請求執行成功!
[2020-12-03 21:19:09,266] xx.local/INFO/root: 請求執行成功!
[2020-12-03 21:19:12,799] xx.local/INFO/root: 請求執行成功!
[2020-12-03 21:19:17,171] xx.local/INFO/root: 請求執行成功!
[2020-12-03 21:19:20,612] xx.local/INFO/root: 請求執行成功!
[2020-12-03 21:27:18,787] xx.local/INFO/locust.main: Running teardowns...
[2020-12-03 21:27:18,787] xx.local/INFO/locust.main: Shutting down (exit code 0), bye.
[2020-12-03 21:27:18,787] xx.local/INFO/locust.main: Cleaning up runner...

Locust性能-零基礎入門系列(14)- 日誌(logging)應用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章