用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()
相关推荐
Cachel wood2 分钟前
Macbook M4 pro本地部署大模型|Ollama+Gemma4/Qwen3.5
人工智能·python·自动化·llm·qwen·ollama·gemma4
守城小轩19 分钟前
基于Chrome140的INS账号自动化——脚本撰写(二)
自动化·浏览器自动化·指纹浏览器·浏览器开发
北京耐用通信36 分钟前
CAN转EtherCAT协议桥接:耐达讯自动化打破工业设备通信壁垒
物联网·自动化·信息与通信
螺丝钉code1 小时前
Hermes Agent 进阶实践:自动化工作流与协同
运维·数据库·自动化
合合技术团队1 小时前
TextIn xParse+LangChain构建财务审计Agent:自动化合规审核与异常检测
运维·langchain·自动化
K姐研究社1 小时前
阿里国际Accio Work实测:电商版OpenClaw,一键自动化运营
运维·人工智能·自动化
Agent产品评测局1 小时前
企业超自动化落地,如何实现端到端的全流程闭环?2026企业级智能体架构与全景选型深度解析丨Agent产品测评局
运维·人工智能·ai·chatgpt·架构·自动化
厦门雄霸小赖总177500106832 小时前
伍德沃德 5466-409 产品介绍速率监测与调速控制
人工智能·机器人·自动化·制造·abb
A_QXBlms2 小时前
企微工具对比:群发自动化脚本与定时任务集成
jvm·自动化·企业微信
运维行者_13 小时前
OpManager MSP NetFlow Analyzer集成解决方案,应对多客户端网络流量监控挑战
大数据·运维·服务器·网络·数据库·自动化·运维开发