用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()
相关推荐
挨踢学霸4 小时前
技术全面重构|MsgHelper 新版深度拆解:交互、视觉与逻辑的底层优化(二)
经验分享·笔记·微信·架构·自动化
缺点内向4 小时前
C#实战:使用Spire.Doc for .NET 获取并替换Word文档中的字体
c#·自动化·word·.net
Will_11305 小时前
Linux运维自动化常用的Python库
linux·运维·自动化
丁华林智能生产5 小时前
2026年无人机倍速链流水线厂家怎么挑?
人工智能·自动化·无人机·制造
进击切图仔5 小时前
ROS 中的单元测试
单元测试·log4j
我是苏苏5 小时前
Web开发:自动化部署!在Windows系统上安装和使用Jenkins!
运维·自动化·jenkins
mr_LuoWei20095 小时前
自定义的中文脚本解释器来实现对excel自动化处理(一)
python·自动化·excel
天空属于哈夫克35 小时前
OpenClaw 开发者进阶:如何通过 API 实现更稳定的企微自动化?
开源·自动化·企业微信
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧5 小时前
Day01 Junit 单元测试 & 反射
java·后端·junit·单元测试
测试_AI_一辰5 小时前
AI测试工程笔记 04:Codex + Playwright 自动修复 UI 自动化脚本
人工智能·笔记·自动化