## 问题与用户价值 当前单元测试和 SQLite 集成覆盖了连接管理与 introspection 契约,但尚未证明真实 MySQL 8.4、PostgreSQL 16 驱动下的线程模型、连接生命周期和事务边界。缺少这些证据会让并发关闭、断连恢复和性能回归只能依赖推测,维护者无法判断生产部署限制。 ## 建议方案与替代方案 - 使用 MySQL 8.4 与 PostgreSQL 16 容器建立可重复的集成矩阵,覆盖连接创建、元数据读取、查询、代码生成分析和连接释放。 - 通过可控 worker/barrier 断言同步驱动调用始终位于 worker 线程;验证同一连接串行化、不同连接并行化、关闭等待在途操作完成。 - 固化连接池大小、并发请求数、数据规模和运行环境,重复至少 3 次并记录 p50/p95/p99、吞吐量、错误率、CPU/内存和连接占用;原始结果上传 CI artifact,摘要写入基准文档。 - 替代方案:仅使用 SQLite mock 或理论分析不能覆盖真实驱动协议、锁和网络断连差异,因此不作为完成证据。 ## 验收标准 - [ ] MySQL 与 PostgreSQL 真实驱动矩阵在干净环境中可重复通过。 - [ ] worker 线程、连接串行化/并行化、关闭等待和异常后复用均有自动化断言及失败证据。 - [ ] 提交、回滚、数据库重启/断连恢复行为有覆盖且错误语义明确。 - [ ] 性能基线至少重复 3 次,报告包含环境、样本量、统计口径和原始 artifact 位置。 - [ ] README/服务文档明确已验证的数据库版本、已知限制和未覆盖场景,不宣称未经证明的生产级能力。 ## 架构、兼容性与测试计划 不预设公共 API 或数据库 schema 变更;若验证发现需要调整连接生命周期或线程边界,另开实现 PR 和 ADR。测试依赖 Docker 中的 MySQL 8.4/PostgreSQL 16,使用脱敏 fixture 和临时数据库;CI 无真实数据库时必须明确标记未执行,不能将 mock 结果写成真实驱动证据。性能报告只用于建立当前基线,不作为跨机器绝对承诺。 ## 非目标与风险 不在本 Issue 内新增业务功能、修改生成模板或替换数据库驱动。风险包括容器启动时间、不同 runner 负载和驱动版本导致的测量波动,以及真实断连场景仍可能需要后续专项验证。回滚方式为移除新增 benchmark/集成脚本和文档提交;相关实现变更需独立 PR。安全问题不在公开 Issue 中披露,按 `SECURITY.md` 流程处理。
Activity
[-][Follow-up] 真实 MySQL/PostgreSQL 线程模型验证与性能基线[/-][+]:test_tube: test(database): 建立真实数据库线程与性能基线[/+]