Commit Graph

11 Commits

Author SHA1 Message Date
明天好像没什么
26d22e5dd8 ruff 2025-11-19 23:36:06 +08:00
Windpicker-owo
ecef8edd28 feat(cache): 提升内存管理与监控能力
- 在CacheManager中添加健康监控系统,并提供详细的内存统计信息
- 使用新的memory_utils模块实现精确的内存估算
- 添加基于大小的缓存条目限制,以防止过大项目
- 通过去重内存计算优化缓存统计
- 在MultiLevelCache中添加过期条目的自动清理功能
- 增强批处理调度器缓存功能,支持LRU驱逐策略和内存追踪
- 更新配置以支持最大项目大小限制
- 添加全面的内存分析文档和工具

重大变更:CacheManager 的默认 TTL 参数现改为 None 而非 3600。数据库兼容层默认禁用缓存,以防止旧版代码过度使用缓存。
2025-11-19 23:31:55 +08:00
Windpicker-owo
29a5357728 feat(cache): 添加自定义TTL支持和内存限制配置 2025-11-19 23:31:55 +08:00
明天好像没什么
3db00aa8f3 ruff归零 2025-11-19 23:31:42 +08:00
明天好像没什么
ff6dc542e1 rufffffff 2025-11-19 23:31:37 +08:00
Windpicker-owo
f872a1ff82 fix: 修复批处理中的多次commit问题,bulk_create后清除缓存 2025-11-19 23:31:25 +08:00
Windpicker-owo
da50481bd7 fix(critical): 修复SQLite事务未提交的严重bug - 在connection_pool.get_session()中添加自动commit 2025-11-19 23:31:22 +08:00
Windpicker-owo
b9335829c8 feat(database): 完成优化层实现 - 自适应批量调度器
- batch_scheduler.py: 全新的自适应批量调度器
  * AdaptiveBatchScheduler: 核心调度引擎
  * 自适应批次: 10-100动态调整,根据负载优化
  * 优先级队列: LOW/NORMAL/HIGH/URGENT四级优先级
  * 智能等待: 50-200ms动态调整,平衡吞吐和延迟
  * 超时保护: 防止操作长时间阻塞
  * 拥塞控制: 实时监控队列状态,自动调节

- 性能优化算法:
  * 批次自适应: congestion > 0.7  增大批次
  * 等待时间调整: duration > 2*wait  增加等待
  * 缓存集成: 5秒TTL,减少重复查询

- 批量执行能力:
  * SELECT: 智能合并相似查询
  * INSERT: 批量插入,减少事务开销
  * UPDATE/DELETE: 单条执行但复用会话

- 统计监控:
  * 吞吐量: 总操作数/批处理数
  * 性能: 平均批次大小/执行时间
  * 质量: 缓存命中率/超时率/错误率
  * 拥塞: 实时拥塞评分(0-1)

 优化层三大组件全部完成:
  1. MultiLevelCache - L1+L2两级缓存
  2. DataPreloader - 智能预加载引擎
  3. AdaptiveBatchScheduler - 自适应批处理

预期性能提升:
- 查询响应: 减少60% (缓存+预加载)
- 写入吞吐: 提升300% (批量处理)
- 数据库负载: 降低50% (连接复用+批处理)
2025-11-19 23:30:43 +08:00
Windpicker-owo
51cb53f6e3 feat(database): 实现智能数据预加载器
- preloader.py: 完整的数据预加载系统
  * DataPreloader: 核心预加载引擎
  * AccessPattern: 访问模式追踪和分析
  * 热点识别: 基于时间衰减的热度评分算法
  * 关联预取: 自动识别和预加载相关数据
  * 自适应策略: 动态调整预加载阈值
  * 异步预加载: 不阻塞主线程

- CommonDataPreloader: 常见数据预加载
  * preload_user_data: 用户信息、权限、关系
  * preload_chat_context: 聊天流和消息上下文

- 特性:
  * 时间衰减: score = count * decay^hours
  * 关联学习: 自动记录数据访问关联
  * 批量预加载: 后台批量加载热点数据
  * 统计监控: 预加载命中率等指标

优化层第二部分完成,预期提升30%响应速度
2025-11-19 23:30:42 +08:00
Windpicker-owo
d850f231ab feat(database): 实现多级缓存管理器
- cache_manager.py: 完整的多级缓存系统
  * LRUCache: O(1)的LRU缓存实现
  * MultiLevelCache: L1+L2两级缓存架构
  * L1缓存: 1000项/60秒,用于热点数据
  * L2缓存: 10000项/300秒,用于温数据
  * 自动淘汰: LRU策略淘汰最少使用数据
  * 统计监控: 命中率、淘汰率等指标
  * 智能提升: L2命中自动提升到L1
  * 定期清理: 后台任务清理过期数据

- 功能特性:
  * 异步锁保证线程安全
  * 自动估算数据大小
  * 支持自定义loader函数
  * 全局单例模式

优化层第一部分完成,命中率预期>80%
2025-11-19 23:30:42 +08:00
Windpicker-owo
fcc408e2d9 refactor(database): 阶段一 - 创建新架构基础
- 创建分层目录结构 (core/api/optimization/config/utils)
- 实现核心层: engine.py, session.py
- 实现配置层: database_config.py
- 实现工具层: exceptions.py
- 迁移连接池管理器到优化层
- 添加详细的重构计划文档
2025-11-19 23:30:41 +08:00