# 性能规则 ## 数据库优化 - 为常用查询字段添加索引(mac_address, region, school_name) - 使用连接池(pool_size=20, max_overflow=40) - 避免 N+1 查询问题 - 定期清理历史数据(保留90天) - 使用 select_related/joinedload 预加载关联数据 **索引示例**: ```python class ONUDevice(Base): __tablename__ = "onu_devices" mac_address = Column(String(17), index=True) region = Column(String(100), index=True) school_name = Column(String(200), index=True) ``` ## 缓存策略 - Redis 缓存热点数据(设备状态) - 缓存过期时间:30分钟 - 手动刷新有5分钟冷却限制 - 使用缓存键命名规范:`device:status:{device_id}` ## 异步处理 - SSH 状态检查使用 Celery 异步任务 - 批量导入使用后台任务 - 定时任务使用 Celery Beat(每30分钟) - 分批处理大量设备(每批100个) ## 前端优化 - 组件懒加载 - 图片懒加载 - 虚拟滚动(大列表) - 防抖和节流 - 资源压缩和 CDN