用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()
相关推荐
xiaohuoji1291 小时前
震荡行情下的自动化交易:从架构视角看高抛低吸工具选型
架构·自动化·区块链
愚公搬代码3 小时前
【愚公系列】《OpenClaw实战指南》012-分析与展示:一句话生成可发给老板的报表与 PPT(Excel/WPS 表格自动化处理)
人工智能·自动化·powerpoint·excel·飞书·wps·openclaw
搞科研的小刘选手3 小时前
【武汉理工大学主办】第八届能源系统与电气电力国际学术会议(ICESEP 2026)
自动化·能源·电力·电气·电气工程·能源系统·电能
黑金IT3 小时前
AI自媒体自动化与Web Coding深度实战
人工智能·自动化·媒体
Dola_Zou3 小时前
授权管理如何重塑工业软件的商业版图
安全·自动化·软件工程·软件加密
AC赳赳老秦3 小时前
OpenClaw与Notion联动:自动同步工作任务、整理笔记,实现高效管理
运维·人工智能·python·数学建模·自动化·deepseek·openclaw
云动课堂3 小时前
【运维实战】企业级SFTP 文件服务 · 一键自动化部署方案 (适配AnolisOS /openEuler /CentOS)
运维·centos·自动化
csdn_aspnet4 小时前
告别重复造轮子:Codex写脚本,运维/DevOps场景下,用Codex批量生成Shell/Python自动化脚本
运维·python·ai·自动化·devops·codex·辅助编程
Gerardisite4 小时前
企业微信自动化开发新思路: RPA 接入方案
java·python·自动化·企业微信·rpa
Mr -老鬼5 小时前
EasyClick iOS版 CLI 与 Trae iOS版智能体
ios·自动化·ai编程·tare·ec·easyclick·易点云测