上传更改
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 服务端性能优化指南
|
||||
|
||||
## 🎯 优化目标
|
||||
## 优化目标
|
||||
- 降低延迟 (< 100ms)
|
||||
- 提高吞吐量 (支持100+并发设备)
|
||||
- 减少内存占用 (< 300MB)
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 1️⃣ 立即可实施的优化 (高优先级)
|
||||
## 1⃣ 立即可实施的优化 (高优先级)
|
||||
|
||||
### 1.1 启用消息批处理
|
||||
**问题**: 每条消息单独发送,频繁的Socket.IO调用
|
||||
@@ -151,7 +151,7 @@ export class ConnectionPool {
|
||||
|
||||
---
|
||||
|
||||
## 2️⃣ 中期优化 (1-2周)
|
||||
## 2⃣ 中期优化 (1-2周)
|
||||
|
||||
### 2.1 实现消息队列
|
||||
**问题**: 高并发时消息丢失
|
||||
@@ -301,7 +301,7 @@ export class MetricsService {
|
||||
|
||||
---
|
||||
|
||||
## 3️⃣ 长期优化 (1个月+)
|
||||
## 3⃣ 长期优化 (1个月+)
|
||||
|
||||
### 3.1 实现分布式架构
|
||||
**方案**: 使用Socket.IO Adapter支持多服务器
|
||||
@@ -363,7 +363,7 @@ async uploadScreenshotToCDN(deviceId: string, data: Buffer) {
|
||||
|
||||
---
|
||||
|
||||
## 4️⃣ 性能测试和监控
|
||||
## 4⃣ 性能测试和监控
|
||||
|
||||
### 4.1 添加性能测试
|
||||
```bash
|
||||
@@ -401,7 +401,7 @@ private logPerformanceMetrics() {
|
||||
const uptime = process.uptime()
|
||||
|
||||
this.logger.info(`
|
||||
📊 性能指标:
|
||||
性能指标:
|
||||
- 内存: ${Math.round(memUsage.heapUsed / 1024 / 1024)}MB / ${Math.round(memUsage.heapTotal / 1024 / 1024)}MB
|
||||
- 运行时间: ${Math.round(uptime)}s
|
||||
- 屏幕帧: ${this.routedFrames} (丢帧: ${this.droppedFrames})
|
||||
@@ -414,7 +414,7 @@ private logPerformanceMetrics() {
|
||||
|
||||
---
|
||||
|
||||
## 5️⃣ 配置建议
|
||||
## 5⃣ 配置建议
|
||||
|
||||
### 生产环境启动参数
|
||||
```bash
|
||||
@@ -444,7 +444,7 @@ REDIS_PORT=6379
|
||||
|
||||
---
|
||||
|
||||
## 📈 预期改进
|
||||
## 预期改进
|
||||
|
||||
| 指标 | 优化前 | 优化后 | 改进 |
|
||||
|------|-------|-------|------|
|
||||
@@ -456,7 +456,7 @@ REDIS_PORT=6379
|
||||
|
||||
---
|
||||
|
||||
## 🔍 故障排查
|
||||
## 故障排查
|
||||
|
||||
### 问题: 内存持续增长
|
||||
**解决方案**:
|
||||
@@ -478,7 +478,7 @@ REDIS_PORT=6379
|
||||
|
||||
---
|
||||
|
||||
## 📚 参考资源
|
||||
## 参考资源
|
||||
|
||||
- [Socket.IO性能优化](https://socket.io/docs/v4/performance-tuning/)
|
||||
- [Node.js内存管理](https://nodejs.org/en/docs/guides/simple-profiling/)
|
||||
|
||||
Reference in New Issue
Block a user