用python开发一个性能压测框架(超级简单)

用python开发一个性能压测框架(超级简单)

该框架是一个基础框架,超级简单,已经跑通,可以进行优化扩展

由于工作需要,最近开发了一款python性能压测框架,主要是对后端接口进行多线程压测

主要使用 Python 的 requests 库来发送请求,并使用 threading 或 asyncio 来模拟并发请求

代码如下:

python 复制代码
import requests
import threading
import time

class PerformanceTester:
    def __init__(self, url, num_threads=1, num_requests=10):
        self.url = url
        self.num_threads = num_threads
        self.num_requests = num_requests
        self.results = []

    def _send_request(self):
        start_time = time.time()
        response = requests.get(self.url)
        end_time = time.time()
        elapsed_time = end_time - start_time
        self.results.append(elapsed_time)

    def run_test(self):
        threads = []
        for _ in range(self.num_threads):
            for _ in range(self.num_requests):
                thread = threading.Thread(target=self._send_request)
                thread.start()
                threads.append(thread)

        for thread in threads:
            thread.join()

        avg_response_time = sum(self.results) / len(self.results)
        max_response_time = max(self.results)
        min_response_time = min(self.results)

        print(f"Avg Response Time: {avg_response_time}")
        print(f"Max Response Time: {max_response_time}")
        print(f"Min Response Time: {min_response_time}")

if __name__ == "__main__":
    tester = PerformanceTester("https://example.com/api", num_threads=5, num_requests=20)
    tester.run_test()
相关推荐
chaofan9807 分钟前
2026大模型应用架构选型:如何通过API聚合平台构建企业级AI服务?
人工智能·架构·自动化·api
黑金IT10 分钟前
AI带‘脑’摒弃前端硬编码实现浏览器自动化系统
前端·人工智能·自动化
德宏大魔王(AI自动回关)18 分钟前
当龙虾接管浏览器:龙虾邪修——自动化破解网页JS登录的“魔法”
运维·javascript·自动化·qclaw·qclaw脑洞名场面
SpikeKing23 分钟前
VibeCoding - OpenClaw 公网访问配置指南 (自动化)
运维·自动化·vibecoding·openclaw
中海德--陈顺真11 小时前
西屋模块 1C31129G01
自动化
ManageEngineITSM13 小时前
IT服务台为什么越忙越低效?
人工智能·自动化·excel·itsm·工单系统
Tangcan-14 小时前
博客系统测试报告
功能测试·测试工具·postman
汽车仪器仪表相关领域14 小时前
NHFID-1000型非甲烷总烃分析仪:技术破局,重构固定污染源监测新体验
java·大数据·网络·人工智能·单元测试·可用性测试·安全性测试
飞Link15 小时前
逆向兼容的桥梁:3to2 自动化降级工具实现全解析
运维·开发语言·python·自动化