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. 执行后查看压测结果

相关推荐
weixin_4407841116 小时前
【HandlerThread实现原理】
android·java·开发语言
天空'之城16 小时前
C 语言工业级通用组件手写 24:互补滤波
c语言·开发语言·互补滤波·嵌入式算法·工业级组件
XR12345678816 小时前
工厂车间无线网络方案对比:AGV漫游哪家强?
开发语言·php
傻啦嘿哟16 小时前
某短视频平台视频爬虫实战:抓取推荐流视频信息,绕过反爬的3种技巧
开发语言·爬虫·python
迷迭香yy17 小时前
集合竞价数据挖掘实战:用Python构建开盘信号识别系统
人工智能·python·数据挖掘
現実君17 小时前
【硬件进阶】AD22上位替换JLEDA教程
开发语言·php
mubei-12317 小时前
SpringDAO的用法
java·开发语言·数据库
李昊哲小课19 小时前
fastapi sse websocket 奶茶店实时订单看板
人工智能·python·websocket·网络协议·fastapi·sse
格林威20 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
初级代码游戏21 小时前
iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
开发语言·ios·swift