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)应用

猜你喜欢

转载自blog.51cto.com/13734261/2571570