用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()
相关推荐
雨季6661 分钟前
构建 OpenHarmony 简易数字猜谜游戏:用随机与反馈打造轻量级互动体验
javascript·flutter·游戏·ui·自动化·dart
Tezign_space1 分钟前
企业级AI发展新趋势:Copilot、流程自动化与智能体系统
人工智能·自动化·copilot·dam·上下文工程·gea·智能体系统
赛希咨询13 分钟前
功能测试与非功能测试的区别
功能测试
2401_8353024830 分钟前
击穿测试护航,解锁薄膜聚合物的安全密码
大数据·人工智能·功能测试·安全·制造·材料工程
0思必得013 小时前
[Web自动化] 处理爬虫异常
运维·爬虫·python·selenium·自动化·web自动化
测试人社区-浩辰15 小时前
AI与区块链结合的测试验证方法
大数据·人工智能·分布式·后端·opencv·自动化·区块链
卓码软件测评16 小时前
第三方CNAS/CMA软件测试测评机构【LoadRunner的JSON和XML响应数据的关联和处理技巧】
测试工具·ci/cd·性能优化·单元测试·测试用例
安畅检测齐鲁物联网测试中心16 小时前
软件信创符合性测试流程与材料清单
功能测试
雨季66617 小时前
构建 OpenHarmony 简易单位换算器:用基础运算实现可靠转换
flutter·ui·自动化·dart
网硕互联的小客服17 小时前
WIN系统和liunx系统如何构建自动化安全运维(DevSecOps)流程?
运维·自动化