- 简介
- 项目结构
- 核心组件
- 架构总览
- 详细组件分析
- 依赖分析
- 性能考量
- 故障排查指南
- 结论
- 附录
本文件面向 yudao-cloud 项目的性能测试,系统性阐述性能测试的概念与意义,涵盖响应时间、吞吐量、并发用户数、资源利用率等关键指标;并结合项目现有技术栈与监控能力,给出基于 JMeter/Gatling 的接口测试方法、数据库与缓存专项测试要点、以及最佳实践与案例分析思路。文档内容严格依据仓库中实际配置与代码,确保可落地与可复现。
项目结构
yudao-cloud 采用微服务架构,核心由网关与多个业务模块组成,同时集成了 Nacos、Redis、MySQL、Kafka、TDengine 等中间件。项目通过 Docker 编排与 Nacos 配置中心实现服务发现与配置管理,便于在测试环境中快速搭建与切换。
Mermaid Diagram Code:
graph TB
subgraph "测试环境"
Net["Docker 网络"]
DC["docker-compose 编排"]
end
subgraph "服务与中间件"
GW["yudao-gateway 网关"]
SYS["system-server"]
INF["infra-server"]
DEV["device-server"]
LCH["launcher-server"]
BLK["blacklist-server"]
TSK["task-server"]
RUL["rule-server"]
REDIS["Redis"]
MYSQL["MySQL"]
TD["TDengine"]
KAF["Kafka"]
NAC["Nacos"]
end
Net --> DC
DC --> GW
DC --> SYS
DC --> INF
DC --> DEV
DC --> LCH
DC --> BLK
DC --> TSK
DC --> RUL
GW --> NAC
SYS --> NAC
INF --> NAC
DEV --> NAC
LCH --> NAC
BLK --> NAC
TSK --> NAC
RUL --> NAC
GW --> REDIS
SYS --> MYSQL
DEV --> TD
TSK --> TD
BLK --> KAF
图示来源
章节来源
核心组件
- 网关与路由:统一入口,负责鉴权、路由与灰度发布。
- 业务模块:系统、基础设施、设备、运营、黑名单、任务、规则等模块。
- 中间件:Redis(缓存) 、MySQL(业务数据)、TDengine(时序/日志)、Kafka(消息)、Nacos(注册与配置)。
- 监控与可观测性:SkyWalking、Prometheus、Actuator/Micrometer、Druid、Grafana/Kibana 等。
章节来源
架构总览
下图展示 yudao-cloud 的微服务与中间件关系,以及测试环境下的典型部署形态。
Mermaid Diagram Code:
graph TB
Client["客户端/压测工具"] --> GW["yudao-gateway"]
GW --> SVC_SYS["system-server"]
GW --> SVC_INF["infra-server"]
GW --> SVC_DEV["device-server"]
GW --> SVC_LCH["launcher-server"]
GW --> SVC_BLK["blacklist-server"]
GW --> SVC_TSK["task-server"]
GW --> SVC_RUL["rule-server"]
SVC_SYS --> DB_MY["MySQL"]
SVC_DEV --> DB_TD["TDengine"]
SVC_TSK --> DB_TD
SVC_BLK --> MQ_KF["Kafka"]
GW --> CACHE_RD["Redis"]
MON["监控与可观测性"] --> GW
MON --> SVC_SYS
MON --> SVC_INF
图示来源
详细组件分析
1) 性能测试基础与指标
- 响应时间:接口平均/分位响应时间(P50/P90/P99),衡量用户体验与系统延迟。
- 吞吐量:每秒事务数(TPS)或请求数(RPS),反映系统承载能力。
- 并发用户数:同时在线用户或并发连接数,体现系统并发处理能力。
- 资源利用率:CPU、内存、磁盘 IO、网络带宽、数据库连接池、Redis 连接数等。
- 错误率:HTTP 5xx、业务错误、超时等占比,评估稳定性。
[本节为通用概念说明,不直接分析具体文件]
2) 使用 JMeter 进行性能测试