Python+Vue +K6接口性能压测平台搭建

一、技术栈

前端: Vue 3 + Vite + NaiveUI + TypeScript

后端: Python + FastAPI + SQLAlchemy

数据库: MySQL 8.0

压测引擎: K6(需要先安装好K6)

二、前置条件

环境准备

K6: 确保已安装 K6

bash 复制代码
# Windows
winget install k6 --source winget
# 或
choco install k6

# 验证安装
k6 version

Python 3.10+: 确保已安装 Python

Node.js 18+: 确保已安装 Node.js

MySQL 8.0: 确保已安装并运行 MySQL

三、数据库初始化

bash 复制代码
CREATE DATABASE k6_perftest CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

四、配置好数据库


五、后端启动

bash 复制代码
cd backend

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# Windows:
.\venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate

# 安装依赖
pip install -r requirements.txt

# 启动服务
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

六、前端启动

bash 复制代码
cd frontend

# 安装依赖
npm install

# 启动开发服务器
npm run dev

前端启动需要注意,nmp install 安装会比较慢,建议用如下方法

  1. 配置 yarn 使用国内镜像源(推荐)
    设置 yarn 的 registry 为淘宝新镜像,该镜像的证书通常是正常的:
bash 复制代码
yarn config set registry https://registry.npmmirror.com
  1. 然后再执行安装:
bash 复制代码
yarn install
  1. 临时关闭 yarn 的严格 SSL 校验(快速但不安全)
bash 复制代码
yarn config set strict-ssl false
yarn install

安装完成后建议恢复:

bash 复制代码
yarn config set strict-ssl true
  1. 使用 cnpm 或 npm 代替 yarn(因为 cnpm 已安装成功)
    已经成功安装了 cnpm,可以用 cnpm 直接安装项目依赖:
bash 复制代码
cnpm install

或者使用 npm(如果之前配置了正确的 registry):

bash 复制代码
npm install
  1. 检查当前 yarn 的配置
    你可以查看当前的 registry 和 strict-ssl 设置:
bash 复制代码
yarn config get registry
yarn config get strict-ssl

七、项目结构

bash 复制代码
K6_PerfTest/
├── backend/                    # 后端项目
│   ├── app/
│   │   ├── main.py            # FastAPI 入口
│   │   ├── config.py          # 配置
│   │   ├── database.py        # 数据库连接
│   │   ├── models/            # 数据模型
│   │   ├── schemas/           # Pydantic 模式
│   │   ├── api/               # API 路由
│   │   ├── services/          # 业务逻辑
│   │   └── websocket/         # WebSocket
│   ├── scripts/               # 生成的 K6 脚本
│   ├── results/               # 执行结果
│   ├── requirements.txt
│   └── .env
├── frontend/                  # 前端项目
│   ├── src/
│   │   ├── App.vue           # 主组件
│   │   ├── components/       # 子组件
│   │   ├── api/              # API 客户端
│   │   ├── types/            # 类型定义
│   │   └── styles/           # 样式
│   ├── package.json
│   └── vite.config.ts
└── README.md

八、启动访问

  1. 前后端启动后访问前端域名:

    http://localhost:5173/

  2. 配置请求接口参数及用户数以及压测时长

  3. 运行后等待结果

  4. 执行后查看压测结果

相关推荐
wdfk_prog5 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
闻道且行之7 小时前
TurboOCR:基于PP-OCRv6的极速Windows离线OCR工具,深度解析3.4GB依赖背后的技术架构
c++·人工智能·python·qt·机器学习·ocr
许彰午8 小时前
95_Python内存管理与垃圾回收
开发语言·python
多加点辣也没关系8 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜8 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
骄阳如火8 小时前
Python 性能深度剖析:从“被诟病的慢”到“Rust 重塑”的拐点
python
满怀冰雪9 小时前
03-第一个 Paddle 程序:Tensor 创建、计算与设备管理
人工智能·python·paddle
CClaris9 小时前
大模型量化从0到1(九):用 llama.cpp 把模型转成 GGUF 并跑本地推理
人工智能·pytorch·python·深度学习·llama
学编程的小虎9 小时前
SenseVoice微调
人工智能·python·自然语言处理
诸葛说抛光10 小时前
国内大型汽车改装展览会定展 佛山改装 佛山汽车赛事
python·汽车