多线程实现网页接口并发压力测试

利用 Python threading 多线程 + requests 实现简易 GET 接口并发压测,适合本地自测接口并发能力。使用线程锁解决多线程计数错乱问题。

⚠️警告:仅允许测试自己本地服务,未经许可压测其他服务器属于违法行为。

依赖安装:

bash

运行

复制代码
pip install requests

源码

python

运行

复制代码
import threading
import requests

thread_count = 4
req_count = 1000
target_url = "127.0.0.1"

success_count = 1000
lock = threading.Lock()

def task():
    global success_count
    for _ in range(req_count):
        try:
            resp = requests.get(target_url, timeout=10)
            if resp.status_code == 200:
                with lock:
                    success_count += 1
                    print(f"✅成功,累计:{success_count}")
            else:
                print(f"❌状态码:{resp.status_code}")
        except Exception as e:
            print(f"请求异常:{e}")

if __name__ == "__main__":
    thread_list = []
    for _ in range(thread_count):
        t = threading.Thread(target=task, daemon=True)
        t.start()
        thread_list.append(t)
    for t in thread_list:
        t.join()
    print(f"\n🎉压测结束,成功总请求:{success_count}")

简单说明

  1. thread_count:并发线程数
  2. req_count:每个线程请求次数
  3. Lock:保证多线程下计数器准确
  4. join():等待所有线程执行完毕输出结果

本代码仅用于学习,禁止用于非法测试。

相关推荐
王六米。5 分钟前
RAG知识库建设 文档解析 切分与索引如何衔接
服务器·前端·网络·企业数字化转型·智钳智能盒子
五_谷_丰_登1 小时前
windows批处理脚本(bat)问题解决方案大全——持续更新
windows·bat
wuyk5551 小时前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
傲世仙尊1 小时前
IO流起步-从fopen到文件描述符fd
linux
Rabitebla1 小时前
【Linux系统编程】 指令(二):一条路径是怎么定位到文件的
linux·c++·笔记·学习·算法
人工智能培训1 小时前
大语言模型:从语言理解到通用智能的跃迁
linux·服务器·前端·人工智能
YCOSA20251 小时前
迎双节 雨晨 Windows 11 IoT 企业版 LTSC 26H1 轻装 28000.2956
windows·物联网
顶点多余1 小时前
9.20 知识点查漏补缺
linux·面试·职场和发展
东方护航数据恢复(深圳)1 小时前
本地小算力设备数据恢复经典案例实操全解_东方护航数据恢复深圳店
大数据·服务器·算法·ai·gpu算力
阿明62 小时前
Linux进程【Linux】
linux·运维·服务器