es_slow_logs / es_search 路由,server_name → 实例别名)es_slow_logs(top=10,昨日有数据,未触发前日回退)es_search 索引 mysql_slow-*,@timestamp range 过滤,_source=[SQL, Query_time, user, fields.server_name]| # | 耗时(s) | 用户 | 来源 IP / 实例 | SQL(截断) | 慢因判定 |
|---|---|---|---|---|---|
| 1 | 1611.32 | backup | 192.168.8.84 → staging/8891 | SELECT /*!40001 SQL_NO_CACHE */ * FROM t8891.t_item_modi_histories | 备份全表导出:EXPLAIN type=ALL,扫描 502 万行,data_read 14G |
| 2 | 1143.19 | backup | 192.168.8.84 → staging/8891 | SELECT ... * FROM t8891.t_sele_item_infos | 备份全表导出:type=ALL,300 万行,20G |
| 3 | 525.71 | backup | 192.168.8.84 → staging/8891 | SELECT ... * FROM t8891.yahoo_car_details | 备份全表导出:仅 6,270 行但行超宽(raw_html/longtext),18M+ |
| 4 | 398.91 | backup | 192.168.8.84 → staging/8891 | SELECT ... * FROM t8891.t_subscription_push | 备份全表导出:3,953 万行,33G(表仅 4 列但行数巨大) |
| 5 | 356.18 | backup | 192.168.8.46 → staging/100-slave | SELECT ... * FROM t591.t1_daily_report | 备份全表导出:2,885 万行,7G |
| 6 | 318.39 | backup | 192.168.8.84 → staging/8891 | SELECT ... * FROM t8891.t_sele_item_photos | 备份全表导出:2,180 万行,80G(图片路径宽表) |
| 7 | 288.18 | backup | 192.168.8.27 → staging/tw8591 | SELECT ... * FROM hk8591.h8_orders | 备份全表导出(表在 staging/hk8591@3307,tw8591 无此表) |
| 8 | 283.70 | sonic | 172.18.0.6(容器) → staging/8891 | commit; | 非备份:大事务提交,fsync/binlog 刷盘慢(见模式分析 P2) |
| 9 | 283.51 | backup | 192.168.8.51 → staging/TD-slave | SELECT ... * FROM anylink.access_audit | 备份全表导出:5,803 万行审计日志,72G |
| 10 | 270.75 | backup | 192.168.8.27 → staging/tw8591 | SELECT ... * FROM hk8591.h8_telescope_entries | 备份全表导出(表在 staging/hk8591@3307) |
Top10 结论:10 条中 9 条为 mysqldump 备份导出(user=backup,SQL_NO_CACHE 全表扫描),属于备份窗口正常行为,不建议加索引"优化";唯一业务条目是 #8 commit;(sonic,容器 172.18.0.6),指向大事务/刷盘问题。备份 dump 单条 270~1611s,建议错峰(当前集中在备份窗口)并评估 --single-transaction + 限流(见建议 6)。
| # | 条数 | 平均(s) | 最大(s) | 累计(s) | 用户 | 服务器 | 模式(SQL 骨架,截断) | 标注 |
|---|---|---|---|---|---|---|---|---|
| P1 | 242 | 1.05 | 1.78 | 254.1 | a8591 | LAN_addcn_27 | select a.id,... from gamelist a left join hitcount_month b on a.id=b.hitid and b.hittype=? and b.themonth=? where a.id not in(?) ... order by b.monthtotal desc | ⚠️ 触发深度分析 |
| P2 | 202 | 4.22 | 283.70 | 852.3 | bee/chenruijia/eagle/sonic/t8891 | LAN_addcn_27/37/84 | commit; | ⚠️ 触发深度分析(非 SQL 可优化) |
| P3 | 179 | 1.55 | 2.73 | 276.6 | jmysql | LAN_addcn_40_3308/46 | show engine innodb status; | 监控采集,非业务 |
| P4 | 102 | 1.37 | 2.31 | 140.1 | 8591/jmysql | LAN_addcn_27/46 | # administrator command: ping; | 连接池心跳,症状非根因 |
| P5 | 76 | 1.21 | — | 92.3 | a591 | LAN_addcn_46 | select i.*, coalesce(...) from house_repost 相关联查 | 未达阈值,附简评 |
| # | 条数 | 平均(s) | 最大(s) | 累计 | 用户 | 服务器 | 模式(截断) | 标注 |
|---|---|---|---|---|---|---|---|---|
| T1 | 1 | 1611.32 | 1611.32 | 26.9min | backup | LAN_addcn_84 | select /*!40001 sql_no_cache */ * from t8891.t_item_modi_histories | 🔶 backup 模式 |
| T2 | 1 | 1143.19 | 1143.19 | 19.1min | backup | LAN_addcn_84 | select ... * from t8891.t_sele_item_infos | 🔶 backup 模式 |
| T3 | 202 | 4.22 | 283.70 | 852.3s | 多用户 | 多服务器 | commit; | ⚠️ 深度分析 |
| T4 | 17 | 36.50 | — | 620.5s | 8591 | LAN_addcn_27_3307 | select sum(after_amount-before_amount) from h8_finance_account_logs where user_id=? and sub_account=? | 未达 30min 阈值,但单条 36.5s 异常,附分析 |
| T5 | 1 | 525.71 | 525.71 | 8.8min | backup | LAN_addcn_84 | select ... * from t8891.yahoo_car_details | 🔶 backup 模式 |
backup 模式(mysqldump 全表导出)单独标注,不触发深度分析;本日 backup 相关模式条数与历史常规持平,无明显环比翻倍迹象。
代表性 SQL:
SELECT a.id, a.name, a.color, a.setInfo+0 AS setInfo, a.setGameType, a.setWareType, b.monthTotal
FROM gameList a LEFT JOIN hitCount_month b ON a.id = b.hitId AND b.hitType='deal' AND b.themonth=202610
WHERE a.id NOT IN (3440,23659,...共约 70 个 id) AND a.parent_id='0' AND a.type='game'
AND FIND_IN_SET('denyShow',setInfo) <> 2
ORDER BY b.monthTotal DESC;
describe_schema(a8591.gameList):PK(id),KEY displayOrder、parent_id、type、idx_sale_count。
describe_schema(a8591.hitCount_month):PK(id),KEY year、month、themonth、hitType、commendId(含 hitId 前缀)。
EXPLAIN(staging/tw8591,全库表限定):
FIND_IN_SET/NOT IN 无法走索引);using_temporary_table + using_filesort。hitType='deal' AND themonth=202610 作为附加条件回表过滤。根因:① 驱动表缺 (type, parent_id) 复合索引,导致每 6 分钟全表扫 + 临时表排序;② FIND_IN_SET('denyShow', setInfo) 与 70+ 元素 NOT IN 常量列表迫使全行过滤;③ 该查询结果(游戏列表+月度热度)变化低频,却以 242 次/天重复计算。
可执行建议:
ALTER TABLE a8591.gameList ADD KEY idx_type_parent (type, parent_id); 可将驱动表扫描从 5.3 万行收敛到千级。(hitId, hitType, themonth, monthTotal),消除 b 侧回表过滤。denyShow 从 SET 列拆为独立 tinyint 标志列以走索引。commit;(202 条,平均 4.22s,最大 283.70s,累计 852s)innodb_flush_log_at_trx_commit=2、sync_binlog=0(测试环境可接受);③ 将 mysqldump 窗口与批量任务错峰。SHOW ENGINE INNODB STATUS;(179 条,平均 1.55s,jmysql)# administrator command: Ping;(102 条,平均 1.37s)idx_user_sub_account_id 但只用到 user_id 前缀,扫描 21,126 行后用 ICP 过滤 sub_account——原因是 sub_account 列为 char(2),SQL 传的是数字 11,隐式类型转换使第二列无法参与索引定位。改写成 sub_account = '11' 即可用满 (user_id, sub_account),扫描量预计降一个数量级以上。created_at 无索引。建议 ALTER TABLE hk8591.h8_telescope_entries ADD KEY idx_created_at (created_at);(Laravel Telescope 官方亦建议清理列建索引)。buyer_id+completed_at 无复合索引,建议 ADD KEY idx_buyer_completed (buyer_id, completed_at)。ispay='0' AND status='0' AND type!='5' ORDER BY rectime ASC,建议复合索引 (ispay, status, rectime)。| 优先级 | 对象 | 动作 |
|---|---|---|
| 高 | a8591.gameList | ADD KEY idx_type_parent (type, parent_id);应用加 5~10min 缓存 |
| 高 | sonic@172.18.0.6 批量写 | 拆小事务批次(1~5 万行/批),消除 283s 级 commit |
| 高 | h8_finance_account_logs 查询 | sub_account = 11 → sub_account = '11'(消除隐式转换) |
| 中 | hk8591.h8_telescope_entries | ADD KEY idx_created_at (created_at) |
| 中 | hk8591.h8_orders | ADD KEY idx_buyer_completed (buyer_id, completed_at) |
| 中 | a591.house_repost | ADD KEY idx_ispay_status_rectime (ispay, status, rectime) |
| 低 | staging 实例参数 | 评估 innodb_flush_log_at_trx_commit=2 / sync_binlog=0(仅测试环境) |
| 低 | 备份任务 | dump 错峰 + --single-transaction --limit-query-time 类限流;backup 模式本日无异常增长 |
| 低 | jmysql 监控 | SHOW ENGINE INNODB STATUS 降频至 30~60s |
http://192.168.8.75:8200/mcp(fastmcp Client,工具:es_slow_logs、es_search、connect、describe_schema、explain、find_instance、disconnect)mysql_slow-*(staging 路由),时间字段 @timestamp(UTC,统计窗口换算为 UTC [2026-10-20T16:00:00Z, 2026-10-21T16:00:00Z))?,保留库表与 SQL 骨架;共 1,986 条文档、645 个指纹,单页拉全(未触发 search_after 翻页).agents/scripts/slow_report_20261021_run.py;原始数据:outputs/analysis_20261021.json、outputs/analysis_20261021_extra.json