| 指标 | 数值 |
|---|---|
| 统计范围 | 2026-09-03 00:00:00 ~ 23:59:59(Asia/Shanghai) |
| ES 时间过滤 | @timestamp ∈ [2026-09-03T00:00:00+08:00, 2026-09-04T00:00:00+08:00) |
| 慢日志总数 | 8,221 条(含 SQL 字段 8,214 条,指纹聚合覆盖全部) |
| 环境 | staging(tw8591/tw591/8891 等实例,MySQL 5.7.44) |
| Top10 最大耗时 | 1,146.4 s(约 19 分钟,备份导出) |
| 最大累计耗时模式 | telescope_entries 巨型 INSERT 系列 ≈ 36,900 s(10.3 小时) |
| 最高频模式 | land_mark 地号查询 5,386 条 / 累计 ≈ 3.1 小时 |
总体结论:昨日慢查询三大来源——
| # | 耗时(s) | 锁时间(s) | 扫描行 | 返回行 | 用户 | 库.表 | SQL 摘要 | 慢因类型 |
|---|---|---|---|---|---|---|---|---|
| 1 | 1146.37 | 0.0003 | 79,835 | 79,835 | backup | t8_game.t8_embeddings_cache | SELECT SQL_NO_CACHE * FROM t8_game.t8_embeddings_cache | 大结果集传输(宽行 JSON,约 70MB/表) |
| 2 | 833.57 | 0.0032 | 55,291 | 55,291 | backup | game.t8_embeddings_cache | SELECT SQL_NO_CACHE * FROM game.t8_embeddings_cache | 大结果集传输(同上,43MB) |
| 3 | 320.08 | 0.0002 | 192,385 | 192,385 | backup | hk8591.h8_telescope_entries | SELECT SQL_NO_CACHE * FROM hk8591.h8_telescope_entries | 大结果集传输(content longtext 宽行) |
| 4 | 312.57 | 0.0002 | 3,882,432 | 3,882,432 | backup | bee.django_session | SELECT SQL_NO_CACHE * FROM bee.django_session | 大结果集传输(285 万行会话表全量导出) |
| 5 | 300.01 | 0.0000 | 0 | 0 | 8591 | a8591 | administrator command: Prepare | 连接/语句挂起至 300s 超时阈值 |
| 6 | 300.00 | 0.0000 | 0 | 0 | a8591 | t8_extends.telescope_entries | INSERT INTO telescope_entries (...content 巨型 JSON...) | 锁等待/超时(300s 整数阈值) |
| 7 | 300.00 | 0.0000 | 0 | 0 | a8591 | t8_extends.telescope_entries | INSERT INTO telescope_entries (...同 batch_id...) | 锁等待/超时 |
| 8 | 300.00 | 0.0000 | 0 | 0 | a8591 | t8_extends.telescope_entries | INSERT INTO telescope_entries (...同 batch_id...) | 锁等待/超时 |
| 9 | 300.00 | 0.0000 | 0 | 0 | a8591 | t8_extends.telescope_entries | INSERT INTO telescope_entries (...另一 batch...) | 锁等待/超时 |
| 10 | 300.00 | 0.0000 | 0 | 0 | a8591 | t8_extends.telescope_entries | INSERT INTO telescope_entries (...同 batch...) | 锁等待/超时 |
1-2. backup 全量导出 t8_embeddings_cache(t8_game / game 两库,1146s / 834s)
key varchar(255) PK + vector json NOT NULL + expired datetime,估算 7.1 万 / 4.4 万行;EXPLAIN access_type=ALL,data_read_per_join 70M / 43M——每行约 1KB 的 JSON 向量宽行。3. backup 全量导出 h8_telescope_entries(320s)
content longtext 巨宽行,AUTO_INCREMENT 已达 11.6 亿。TELESCOPE_ENABLED=false 或缩短 prune 保留期(1-2 天)。4. backup 全量导出 bee.django_session(313s)
python manage.py clearsessions 计划任务可把表缩小一个数量级;纯会话表可排除出备份。5. administrator command: Prepare 卡 300s(8591@a8591)
6-10. INSERT INTO telescope_entries 卡 300s(a8591@t8_extends,5 条)
TELESCOPE_ENABLED=false)或排除 SocialiteWasCalled 等事件监控、限制 content 截断长度;② php artisan telescope:prune 加入 cron(保留 ≤2 天);③ 必要时 Telescope 存储切独立实例/SQLite;④ 核对 max_allowed_packet 与应用侧 PDO timeout(300s 更像应用超时而非 innodb_lock_wait_timeout 默认 50s)。SQL 指纹归一化:字符串/数字/IN 列表 → ?,保留库表与骨架。
| # | 条数 | 平均(s) | 最大(s) | 累计(s) | 用户 | 服务器 | 指纹摘要 | 备注 |
|---|---|---|---|---|---|---|---|---|
| 1 | 5,158 | 2.08 | 10.00 | 10,707 | t591 | addcn_117/80 | SELECT ... FROM land_mark WHERE land_no IN(?..) AND region_id=? AND section_id=? AND sect_id=? | 🔍 深度分析(缺索引) |
| 2 | 416 | 1.63 | 2.95 | 677 | jmysql | 多台 | SHOW ENGINE INNODB STATUS | 监控采集,非业务 |
| 3 | 233 | 1.87 | 4.80 | 436 | airflow | addcn_117 | SELECT dag_run ... max(execution_date) 子查询 | 🔍 深度分析(实例负载) |
| 4 | 165 | 1.64 | 4.30 | 271 | t591 | addcn_117/80 | 同 #1(land_mark 变体) | 与 #1 同根因 |
| 5 | 82 | 217.27 | 300.00 | 17,816 | a8591 | addcn_27 | INSERT INTO telescope_entries (content 巨型 JSON) | 🔍 深度分析(锁/超时) |
| # | 条数 | 平均(s) | 累计(s) | 用户 | 服务器 | 指纹摘要 | 备注 |
|---|---|---|---|---|---|---|---|
| 1 | 82 | 217.3 | 17,816 | a8591 | addcn_27 | INSERT INTO telescope_entries(巨型 content) | 🔍 深度分析 |
| 2 | 5,158 | 2.08 | 10,707 | t591 | addcn_117/80 | SELECT ... FROM land_mark ... | 🔍 深度分析(缺索引) |
| 3 | 30 | 300.0 | 9,000 | a8591 | addcn_27 | UPDATE t8_ware_mall_extensions SET rank_score... WHERE id=? | 🔍 深度分析(锁等待) |
| 4 | 33 | 230.1 | 7,592 | a8591 | addcn_27 | INSERT INTO telescope_entries(变体 batch) | 同 #1 根因 |
| 5 | 21 | 300.0 | 6,300 | a8591 | addcn_27 | INSERT INTO t8_telescope_entries(schedule 事件) | 同 #1 根因 |
backup(mysqldump 全表导出)模式条数仅个位数、未进两表 Top5,环比无明显翻倍,不触发深度分析。
另有按累计耗时应关注:golden_source 修复查询 82 条 × 61s ≈ 5,012s、tmp_cvd_t12 40 条 × 74s ≈ 2,976s、dy_aigc_crawler_runs FOR UPDATE 14 条 × 300s、dy_user_logins UPDATE 10 条 × 300s。
以下模式满足「非 backup 且 条数>100 或 累计>30 分钟」,已走 connect → describe_schema → explain 只读链路。
/* ms:tw591ms-trend-price */ 服务,LAN_addcn_117 / LAN_addcn_80。t591_transcription.land_mark,估算 1,677 万行。key=idx_area,仅用到 (region_id, section_id) 两列,rows_examined_per_scan=170,042,filtered=2%——每个乡镇仍扫 17 万行,sect_id、land_no 只能作为 attached_condition 逐行过滤。ALTER TABLE t591_transcription.land_mark ADD INDEX idx_region_sect_land (region_id, section_id, sect_id, land_no);(四列全部等值/IN,可把扫描降到个位数行;索引列均较窄,写入放大约一个 int+char(9),建议低峰在 gh-ost/pt-osc 或主从轮换方式执行)。t591_estate_data.golden_source 估算 857 万行;JOIN t591_new.market_community_building / market_community(均 eq_ref 走 PK,无问题)。access_type=range,key=idx_street_id(条件 street_id != 0),rows_examined=428 万,filtered=4.5%——用 street_id 范围扫了半张表,真正筛掉的 community_id=0 AND type=1 AND community_bid!=0 全靠回表过滤。ALTER TABLE t591_estate_data.golden_source ADD INDEX idx_type_community (type, community_id, community_bid, street_id); 让 WHERE 四条件直接走索引定位;857 万行大表建议 pt-osc 低峰执行。另建议把「修复类」查询改为离线批量任务避免白天反复执行。t8_extends.telescope_entries 索引完备(uuid 唯一键、batch_id/type/family_hash 索引),AUTO_INCREMENT 2.3 亿;单条 content 为序列化整个 Laravel 容器的数 MB JSON(含 SocialiteWasCalled 事件、DumpServer/SmsService 配置等调试信息)。telescope:prune cron 保留 ≤2 天;③ 避开 01:00 与其他批处理任务同时段调度。WHERE id=? 走 PK,access_type=const、cost=1——语句本身零成本,300s 全部是等锁。rank_score_detail JSON,批量任务长事务持锁,叠加 Telescope 巨型 INSERT 拖慢整体。idx_claim(status) range + filesort,cost 5.48,仅 142 行小表;user_logins 走 user_id 唯一索引 cost=1。FOR UPDATE 争用——有 worker 在 01:00 窗口长时间持锁/挂起,后续领取任务的连接全部等到超时。FOR UPDATE SKIP LOCKED(MySQL 8.0+)或先 SELECT id 再带版本号 UPDATE;核对 worker 心跳/超时回收逻辑;与 C/D 的窗口错峰。dag_run_dag_id_execution_date_key 索引覆盖,cost 1.2——SQL 本身无可优化。(region_id, section_id, sect_id, land_no):消除全天 5,386 次、累计 3.1 小时的扫描放大(模式 A)。(type, community_id, community_bid, street_id):修复查询从 61s 降到亚秒级(模式 B)。(type, ep_source_id, score, post_id) 覆盖索引,让反连接两端都走索引;或改写为 JOIN (SELECT MAX(...)) 派生表写法。mysql_slow-* 索引(@timestamp 过滤 UTC+8 昨日全天),经 MCP es_slow_logs(top=10, env=staging)与 es_search(size 5000 + search_after 翻页,全量 8,221 条)获取。connect / describe_schema / count_estimate / explain 只读查询 staging/tw591(-slave)、staging/tw8591(-slave)、staging/8891,查询后均已 disconnect。