环境:staging | 统计范围:2026-09-02 00:00:00 ~ 23:59:59 (Asia/Shanghai)
数据来源:Elasticsearch 慢日志索引(@timestamp,UTC+8 全天 → UTC [2026-09-01T16:00Z, 2026-09-02T16:00Z)),经 MCP es_slow_logs 聚合 Top10 | env=staging
| 指标 | 值 |
|---|---|
| 昨日慢查询总数 | 1,280 条 |
| 展示条数 | Top 10(按耗时降序) |
| 涉及实例 | staging/tw8591(192.168.8.27:3306)、staging/hk8591(192.168.8.27:3307)、staging/100-slave(192.168.8.46:3306) |
| 主要慢因分布 | 备份全表导出 4 条(大结果集传输);Telescope 写入/预处理 6 条(精确卡 300s 阈值,疑似锁等待/innodb 阻塞) |
| Top10 总耗时 | ≈ 4,204 秒(约 70 分钟) |
一句话结论:昨日 staging 无业务 SELECT 缺索引问题;慢查询几乎全部来自 ①mysqldump 类备份任务对大表/宽表的全表 SELECT * 导出,②Laravel Telescope 调试组件向 t8_extends.telescope_entries 写入超长 JSON 时被阻塞到精确 300 秒(超时阈值)。
| # | 耗时(s) | 锁时间(s) | 扫描行 | 返回行 | 用户/库 | 实例 | SQL(截断) | 慢因类型 |
|---|---|---|---|---|---|---|---|---|
| 1 | 1152.03 | 0.0003 | 79,835 | 79,835 | backup / yy_t8_data | staging/tw8591 | SELECT /*!40001 SQL_NO_CACHE */ * FROM t8_game.t8_embeddings_cache | 大结果集传输(宽行 JSON 向量列) |
| 2 | 817.45 | 0.0005 | 55,291 | 55,291 | backup / a8591 | staging/tw8591 | SELECT /*!40001 SQL_NO_CACHE */ * FROM game.t8_embeddings_cache | 大结果集传输(同上,另一库) |
| 3 | 313.94 | 0.0002 | 192,835 | 192,835 | backup / hk8591 | staging/hk8591 | SELECT /*!40001 SQL_NO_CACHE */ * FROM hk8591.h8_telescope_entries | 大结果集传输(longtext content 列) |
| 4 | 310.52 | 0.0000 | 29,334,139 | 29,334,139 | backup / t591_bak | staging/100-slave | SELECT /*!40001 SQL_NO_CACHE */ * FROM t591.t1_daily_report | 大结果集传输(2933 万行全表) |
| 5 | 300.0038 | 0.0000 | 0 | 0 | 8591 / a8591 | staging/tw8591 | # administrator command: Prepare | 精确卡 300s 阈值:锁等待/连接阻塞 |
| 6 | 300.0030 | 0.0000 | 0 | 0 | a8591 / t8_extends | staging/tw8591 | INSERT INTO telescope_entries (batch_id, content, ...) VALUES (超长 JSON) | 精确卡 300s 阈值:锁等待/innodb_log_wait |
| 7 | 300.0028 | 0.0000 | 0 | 0 | a8591 / t8_extends | staging/tw8591 | 同上(batch a2a4afb6) | 同上 |
| 8 | 300.0028 | 0.0000 | 0 | 0 | a8591 / t8_extends | staging/tw8591 | 同上(batch a2a4af83) | 同上 |
| 9 | 300.0027 | 0.0000 | 0 | 0 | a8591 / t8_extends | staging/tw8591 | 同上(batch a2a4af83) | 同上 |
| 10 | 300.0025 | 0.0000 | 0 | 0 | a8591 / t8_extends | staging/tw8591 | 同上(batch a2a4b016) | 同上 |
t8_game.t8_embeddings_cache 与 game.t8_embeddings_cache 结构相同 —— key varchar(255) 主键、vector json NOT NULL(向量数据)、expired datetime。PK 为 key,无其他索引;无 id 列。SELECT * SQL_NO_CACHE 导出含 vector json 宽行,单行可达数百 KB~MB,8 万行即产生 GB 级传输,耗在网络/磁盘传输,非缺索引(全表导出本来就无过滤条件)。--single-transaction + 压缩流(| gzip / --compress)。vector 缓存数据本质可再生,可评估用逻辑导出(仅 key+expired)+ 过期重建策略,跳过大 JSON 列。expired 列可加索引便于清理任务;对导出场景无收益。hk8591.h8_telescope_entries 不存在,说明该表只在 3307 侧,instance 归属按 host:port 区分(LAN_addcn_27_3307)。分析结论按同构的 telescope 表推断。content longtext 超宽,19 万行全量导出,大结果集传输。telescope:prune),保持表体量在可备份范围;备份可用 --ignore-table 跳过。id;explain 等价短查询(WHERE id=1)命中 PRIMARY const,说明 PK 索引正常。SELECT * 导出,大结果集传输,rows_examined = rows_sent,无浪费扫描。date)后备份可按分区增量。# administrator command: Prepare(300.0038s)innodb_lock_wait_timeout 或代理端 read timeout)后被记录。t8_extends.telescope_entries):sequence PK、uuid 唯一键、batch_id/type/family_hash 索引齐全,content longtext;AUTO_INCREMENT 已到 2.31 亿,表体量巨大。TELESCOPE_ENABLED=false 或采样模式即可消除 #3/#5~#10 全部 7 条。telescope:prune 清理历史数据(2.31 亿 auto_increment 说明从未清理)。--single-transaction 并与写入低峰错开,避免长读事务阻塞写入(或从 100-slave 等从库备份)。t8_extends.telescope_entries 表 2.31 亿自增、无清理机制,是持续性风险源。es_slow_logs(Elasticsearch mysql_slow-*,@timestamp 过滤 2026-09-02 全天 UTC+8),env=staging,top=10;表结构经 MCP describe_schema 实测,执行计划经 MCP explain 实测(全程只读)。id 列/INSERT 语句无法直接 EXPLAIN,改用同表等价查询或结构分析。