用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()
相关推荐
微刻时光18 分钟前
影刀RPA:For循环与ForEach循环深度解析与实战指南
人工智能·python·低代码·自动化·rpa·影刀实战
薛定谔的猫3692 小时前
深度解析 MCP (Model Context Protocol):重塑 AI Agent 的生态连接
自动化·llm·ai agent·技术架构·mcp·model context protocol
志栋智能2 小时前
超自动化巡检的核心价值:效率、质量与洞察
运维·服务器·网络·人工智能·自动化
金玉满堂@bj3 小时前
Playwright 对比 Selenium 总结
自动化
Agent产品评测局3 小时前
混合云架构适配:企业级智能体灵活部署完整方案与最佳实践 | 2026企业自动化选型硬核指南
运维·人工智能·ai·chatgpt·架构·自动化
爱编程的陶老师4 小时前
K8s是什么?——第一集:从“搬箱子”到“自动化仓库”的革命
容器·kubernetes·自动化
张3234 小时前
角色与内容集合:自动化配置的标准化复用机制
运维·自动化·ansible
2301_808414385 小时前
博客系统测试报告
功能测试
Shepherd06195 小时前
【IT 实战】使用 Tenant Configuration Management API 完成微软租户备份自动化
运维·microsoft·自动化
拓朗工控5 小时前
工控机上电开机:工业自动化的脉搏启动瞬间
运维·自动化·工控机