docs: 添加服务器资源评估文档

- 新增服务器资源评估章节
- 记录当前服务器配置和资源占用
- 分析业务数据规模
- 评估小/中/大规模资源需求
- 说明 Rust 后端性能特性
- 分析瓶颈和优化建议
- 给出分阶段升级方案
This commit is contained in:
2026-04-17 23:16:11 +08:00
parent 15237d4250
commit 4a9e85667c

View File

@@ -57,6 +57,99 @@ interface WeatherData {
---
## 服务器资源评估
### 当前服务器配置
| 项目 | 规格 |
|------|------|
| CPU | AMD EPYC 7K62 48-Core |
| 内存 | 2 GB |
| 磁盘 | 30 GB (已用 17GB) |
### 当前资源占用
| 容器/服务 | 内存占用 | 说明 |
|----------|---------|------|
| PostgreSQL | 85.5 MB | 数据库 |
| rustweb (后端) | 844 KB | Rust 后端服务 |
| Gitea | 221.6 MB | 代码仓库 |
| Bitwarden | 251.1 MB | 密码管理 |
| OpenResty | 27.5 MB | 反向代理 |
### 业务数据分析
| 指标 | 数值 |
|------|------|
| 用户数 | 2,358 |
| 天气数据 | 6,563 条 |
| 数据库大小 | 12 MB |
| 日活用户(预估) | ~100-500 |
### 资源需求评估
#### 小规模(< 1000 用户)
| 资源 | 推荐配置 | 说明 |
|------|---------|------|
| 内存 | 512 MB - 1 GB | Rust + PostgreSQL 足够 |
| CPU | 1 核 | 单核即可处理大部分请求 |
| 磁盘 | 10 GB | 数据库增长缓慢 |
#### 中等规模1000 - 10000 用户)
| 资源 | 推荐配置 | 说明 |
|------|---------|------|
| 内存 | 1 - 2 GB | 需要缓存和连接池 |
| CPU | 2 - 4 核 | 并发处理 |
| 磁盘 | 20 GB | 数据库 + 日志 |
#### 大规模(> 10000 用户)
| 资源 | 推荐配置 | 说明 |
|------|---------|------|
| 内存 | 2 - 4 GB | 多连接 + 缓存 |
| CPU | 4 - 8 核 | 高并发 |
| 磁盘 | 50 GB+ | SSD 推荐 |
### Rust 后端特性
| 特性 | 影响 |
|------|------|
| 内存效率 | 静态编译,无 GC内存占用极低实测 < 1MB |
| CPU 效率 | 高并发处理能力,单核可处理数千 QPS |
| 启动速度 | 毫秒级启动 |
| 依赖 | 仅 28 行 Cargo.toml |
### 瓶颈分析
| 组件 | 当前瓶颈 | 建议 |
|------|---------|------|
| PostgreSQL | 内存 85MB | 用户增长到 10k+ 可考虑 2GB |
| Rust 后端 | 无 | 目前的连接池配置足够 |
| 磁盘 I/O | HDD | 用户 10k+ 建议升级 SSD |
| 网络带宽 | - | 取决于日活和每次请求大小 |
### 推荐配置
| 用户规模 | 升级方案 |
|---------|---------|
| < 5000 | 保持现状 |
| 5000-10000 | PostgreSQL 内存调整到 512MB |
| > 10000 | 升级到 4GB+ 服务器SSD |
### 优化建议
```toml
# PostgreSQL 连接池配置(当前使用默认)
# 建议根据用户量调整
sqlx = { version = "0.8.6", default-pool-size = 10 } # 默认 5
```
**结论**:当前 2GB 服务器对 Rust 后端来说资源非常充裕,预计可支撑 2-3 万用户。主要瓶颈可能在 PostgreSQL 的连接管理和磁盘 I/O。
---
## 二、生产环境数据库迁移
### 环境信息