python压测demo

此博客主要围绕Python压测展开,提供了压测的demo。借助Python进行压测,可对系统性能进行评估,在信息技术领域,压测是保障系统稳定运行的重要手段。
import requests
import time
import concurrent.futures
import json


class APITest(object):

    def __init__(self):
        self.url = 'http://'
        self.token = ''
        self.headers = {'Content-Type': 'application/json',
                        'app_token': self.token}

        self.total_time = 0

        self.data = {

        }

    def common_get_events_list(self):
        t = time.time()
        ret = requests.post(url=self.url, headers=self.headers, data=json.dumps(self.data))
        # print(ret)
        end = (time.time() - t) % 60
        return end

    def time_total(self):
        with concurrent.futures.ThreadPoolExecutor(max_workers=5000) as executor:
            res = {executor.submit(self.common_get_events_list) for i in range(10)}

            for future in concurrent.futures.as_completed(res):
                try:
                    data = future.result()
                except Exception as exc:
                    pass
                else:
                    self.total_time += data
        print('common_get_events_list:接口响应的总时间为%s秒' % str(self.total_time))
        print('common_get_events_list:平均时间为%s秒' % str(self.total_time / 10))
        print('-' * 50)


if __name__ == '__main__':
    api = APITest()
    api.common_get_events_list()
    api.time_total()

 

HttpRunner 是一个功能强大的开源 API 试工具,支持多种网络协议如 HTTP(S)、HTTP2、WebSocket 和 RPC,并且可以用于接口试、性能试以及数字体验监等多种试类型[^2]。要使用 HttpRunner 进行试,你可以按照以下指南操作: ### 安装 HttpRunner 确保你的系统中已经安装了 Python 环境,可以通过命令 `python --version` 来验证 Python 是否已正确安装。接着,通过 pip 安装 HttpRunner: ```bash pip install HttpRunner ``` ### 使用 boomer 运行负载试 HttpRunner 提供了一个叫做 `boomer` 的子命令来执行负载试。这个命令允许你模拟高并发场景下的用户行为,从而对服务端施加力以评估其性能表现。 #### 创建试用例 在开始之前,你需要创建或准备一组试用例。这些用例通常是以 JSON 或 YAML 格式编写的,描述了需要发送的请求及其预期响应等信息。例如,你可以使用 `hrp convert` 命令将现有的试脚本转换为适合 boomer 的格式。 #### 编写试逻辑 为了更灵活地控制试流程和数据驱动,推荐使用 Python 编写试逻辑。这可以通过编写 pytest 风格的试文件实现,其中每个试函数代表一个具体的试场景。 #### 启动负载试 一旦准备好试用例,就可以利用 `hrp boom` 命令启动负载试。基本语法如下: ```bash hrp boom [OPTIONS] TESTCASE ``` 这里 `[OPTIONS]` 可以包括并发用户数、持续时间等参数,而 `TESTCASE` 则是指向你的试用例文件的路径。例如: ```bash hrp boom --step-users 100-200-300 --duration 60s demo_test.py ``` 此命令将会逐步增加到 300 个并发用户,在 60 秒内进行试。 #### 分析结果 试完成后,HttpRunner 会生成详细的报告,帮助分析系统的性能瓶颈和服务质量。根据报告中的指标(如 TPS、响应时间分布等),可以进一步优化应用或基础设施配置。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值