1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633
| app: description: 性能分析智能体01 icon: 🤖 icon_background: '#FFEAD5' icon_type: emoji mode: workflow name: demo11-性能分析智能体01 use_icon_as_answer_icon: false dependencies: - current_identifier: null type: marketplace value: marketplace_plugin_unique_identifier: langgenius/deepseek:0.0.14@e7f88d74bf425ffc89d8794a33d581cceeaeec8d3b0091ccd5a5c2ff7c18c2a7 version: null kind: app version: 0.6.0 workflow: conversation_variables: [] environment_variables: [] features: file_upload: allowed_file_extensions: - .JPG - .JPEG - .PNG - .GIF - .WEBP - .SVG allowed_file_types: - image allowed_file_upload_methods: - local_file - remote_url enabled: false fileUploadConfig: attachment_image_file_size_limit: 2 audio_file_size_limit: 50 batch_count_limit: 5 file_size_limit: 15 file_upload_limit: 20 image_file_batch_limit: 10 image_file_size_limit: 10 single_chunk_attachment_limit: 10 video_file_size_limit: 100 workflow_file_upload_limit: 10 image: enabled: false number_limits: 3 transfer_methods: - local_file - remote_url number_limits: 3 opening_statement: '' retriever_resource: enabled: true sensitive_word_avoidance: enabled: false speech_to_text: enabled: false suggested_questions: [] suggested_questions_after_answer: enabled: false text_to_speech: enabled: false language: '' voice: '' graph: edges: - data: isInIteration: false isInLoop: false sourceType: start targetType: llm id: 1777286493293-source-1777286782207-target source: '1777286493293' sourceHandle: source target: '1777286782207' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: llm targetType: end id: 1777287139993-source-1777287160020-target source: '1777287139993' sourceHandle: source target: '1777287160020' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: llm targetType: llm id: 1777286782207-source-1777288199008-target source: '1777286782207' sourceHandle: source target: '1777288199008' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: llm targetType: llm id: 1777288199008-source-1777288893095-target source: '1777288199008' sourceHandle: source target: '1777288893095' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: llm targetType: llm id: 1777288893095-source-1777287139993-target source: '1777288893095' sourceHandle: source target: '1777287139993' targetHandle: target type: custom zIndex: 0 nodes: - data: selected: false title: 用户输入 type: start variables: - default: '' hint: '' label: 测试场景描述 max_length: 2000 options: [] placeholder: '' required: true type: paragraph variable: test_scenario - default: '' hint: '' label: 压测数据 max_length: 5000 options: [] placeholder: '' required: true type: paragraph variable: pressure_data - default: '' hint: '' label: 监控数据 options: [] placeholder: '' required: false type: paragraph variable: monitor_data - default: '300' hint: '' label: 压测时长/s options: [] placeholder: '' required: false type: number variable: test_duration - default: '500' hint: '' label: 并发用户数 options: [] placeholder: '' required: false type: number variable: concurrent_users - default: '500' hint: '' label: 目标TPS options: [] placeholder: '' required: false type: number variable: target_tps - hint: '' label: 关注重点 options: - 数据库 - 网络 - 代码层 placeholder: '' required: false type: select variable: focus_area height: 265 id: '1777286493293' position: x: 51 y: 74 positionAbsolute: x: 51 y: 74 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: false variable_selector: [] model: completion_params: temperature: 0.7 mode: chat name: deepseek-v4-flash provider: langgenius/deepseek/deepseek prompt_template: - id: 737b4b18-03ab-4aa4-afbd-b3e4acfa7e0a role: system text: "## 角色\n你是一名性能测试数据分析师,擅长解析和标准化各类性能测试数据。\n\n## 任务\n解析用户提供的压测数据和监控数据,将其标准化为结构化格式。\n\ \n## 输入\n- 测试场景:{{#1777286493293.test_scenario#}}\n- 压测数据:{{#1777286493293.pressure_data#}}\n\ - 监控数据:{{#1777286493293.monitor_data#}}\n- 测试时长:{{#1777286493293.test_duration#}}\n\ - 并发数:{{#1777286493293.concurrent_users#}}\n- 目标TPS:{{#1777286493293.target_tps#}}\n\ \n## 输出格式(严格JSON)\n```json\n{\n \"scenario\": \"场景摘要\",\n \"pressure_metrics\"\ : {\n \"interface\": \"接口名\",\n \"avg_response_time_ms\": 数值,\n\ \ \"p95_response_time_ms\": 数值,\n \"p99_response_time_ms\": 数值,\n\ \ \"error_rate_percent\": 数值,\n \"actual_tps\": 数值,\n \"target_tps\"\ : 数值,\n \"concurrent_users\": 数值,\n \"throughput_gap_percent\":\ \ 数值\n },\n \"resource_metrics\": {\n \"db_cpu_percent\": 数值,\n \ \ \"db_connection_pool_percent\": 数值,\n \"app_cpu_percent\": 数值,\n\ \ \"app_memory_percent\": 数值,\n \"redis_memory_percent\": 数值,\n\ \ \"redis_hit_rate_percent\": 数值,\n \"network_io\": \"描述\"\n },\n\ \ \"anomalies\": [\"异常指标1\", \"异常指标2\"],\n \"target_gap\": \"与目标的差距描述\"\ \n}\n" selected: false structured_output: schema: additionalProperties: false properties: pressure_metrics: additionalProperties: false properties: actual_tps: type: number avg_response_time_ms: type: number concurrent_users: type: number error_rate_percent: type: number interface: type: string p95_response_time_ms: type: number p99_response_time_ms: type: number target_tps: type: number throughput_gap_percent: type: number required: - interface - avg_response_time_ms - p95_response_time_ms - p99_response_time_ms - error_rate_percent - actual_tps - target_tps - concurrent_users - throughput_gap_percent type: object scenario: type: string required: - scenario - pressure_metrics type: object structured_output_enabled: true title: 数据解析与标准化节点 type: llm vision: enabled: false height: 88 id: '1777286782207' position: x: 308 y: 76 positionAbsolute: x: 308 y: 76 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: false variable_selector: [] model: completion_params: temperature: 0.7 mode: chat name: deepseek-v4-flash provider: langgenius/deepseek/deepseek prompt_template: - id: ed3e0c66-4608-43a2-a5a5-a6ed2382d0dd role: system text: '## 角色
你是一名性能测试报告撰写专家。
## 任务
将分析结果整合为结构化的性能测试分析报告。
## 输入
- 标准化数据:{{#1777286782207.text#}}
- 瓶颈分析:{{#1777288199008.text#}}
- 优化建议:{{#1777288893095.text#}}
## 输出格式(Markdown)
# 🔍 性能测试分析报告
## 一、测试概览
| 指标 | 目标值 | 实际值 | 达标情况 |
|------|--------|--------|----------|
| TPS | {{#1777286493293.target_tps#}} | {{actual_tps}} | ✅/❌ |
| 平均响应时间 | - | {{#1777286782207.structured_output.pressure_metrics.avg_response_time_ms#}}ms | - |
| P99响应时间 | - | {{#1777286782207.structured_output.pressure_metrics.p99_response_time_ms#}}ms | - |
| 错误率 | <0.1% | {{#1777286782207.structured_output.pressure_metrics.error_rate_percent#}}% | ✅/❌ |
## 二、资源使用概况
(表格展示各资源使用率及健康度)
## 三、瓶颈分析
### 首要瓶颈
(描述首要瓶颈及其证据链)
### 瓶颈链路
(描述瓶颈间的因果关系)
## 四、优化建议
### 🚀 快速见效(1-3天)
(优先级1-3的优化项)
### 🔧 中期优化(1-2周)
(优先级4-6的优化项)
### 🏗️ 长期规划(1月+)
(架构级优化项)
## 五、预期收益
(综合预期TPS提升及响应时间改善)
## 六、风险提示
(实施风险及回滚方案)
' selected: true title: 报告生成节点 type: llm vision: enabled: false height: 88 id: '1777287139993' position: x: 308 y: 385 positionAbsolute: x: 308 y: 385 selected: true sourcePosition: right targetPosition: left type: custom width: 242 - data: outputs: - value_selector: - '1777287139993' - text value_type: string variable: text selected: false title: 输出 type: end height: 88 id: '1777287160020' position: x: 308 y: 492 positionAbsolute: x: 308 y: 492 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: false variable_selector: [] model: completion_params: temperature: 0.7 mode: chat name: deepseek-v4-flash provider: langgenius/deepseek/deepseek prompt_template: - id: 4ae41eab-6110-4c47-9d5a-48d39649923f role: system text: "## 角色\n你是一名拥有15年经验的资深性能工程师,精通全栈性能诊断。你擅长从多维数据中建立因果关系链,精准定位根本瓶颈而非表面症状。\n\ \n## 任务\n基于标准化数据,系统性分析性能瓶颈根因,输出结构化的瓶颈清单和因果链路。\n\n## 输入数据\n\n### 标准化数据\n\ {{#1777286782207.text#}}\n\n\n### 用户关注重点\n{{#1777286493293.focus_area#}}\n\ \n---\n\n## 分析方法论\n\n### 一、数据完整性检查(首先执行)\n\n在开始分析前,先检查数据是否充足:\n\n| 检查项\ \ | 判断标准 | 处理策略 |\n|--------|----------|----------|\n| 压测指标完整性 | 是否包含TPS、响应时间、错误率\ \ | 缺失则在瓶颈中标注\"数据不足\" |\n| 监控数据完整性 | 是否包含CPU、内存、IO、网络 | 缺失则在根因推断中降低置信度\ \ |\n| 时序一致性 | 压测时间段与监控时间段是否匹配 | 不一致则标注,可能影响分析准确性 |\n| 指标关联性 | 资源指标变化是否与压测指标变化同步\ \ | 用于判断因果关系 |\n\n如果关键数据缺失,在输出 `data_quality_warning` 中明确说明哪些数据缺失、对分析结论的影响程度。\n\ \n### 二、四层瓶颈排查框架(逐层深入)\n\n#### 第一层:资源层瓶颈\n\n**判断标准 & 因果推导**:\n\n| 症状 |\ \ 数值阈值 | 可能根因(按概率排序) | 验证方法 |\n|------|----------|----------------------|----------|\n\ | CPU 饱和 | >80% 持续 >5min | ① GC频繁 ② 计算密集操作 ③ 线程上下文切换过高 | 查看 GC日志、线程Dump\ \ |\n| 内存饱和 | >85% 持续 | ① 内存泄漏 ② 缓存膨胀 ③ 堆配置不足 | 查看 Heap Dump、内存趋势 |\n\ | 磁盘 I/O 饱和 | iowait >20% | ① 日志过频 ② DB刷盘 ③ 临时文件过多 | 查看 iostat、磁盘队列深度\ \ |\n| 网络带宽饱和 | 带宽利用率 >80% | ① 大Payload ② 序列化开销 ③ 频繁小包 | 抓包分析、流量统计 |\n\ \n**关联分析规则**:\n- CPU高 + 内存高 → 大概率 GC 问题(查看 Young GC / Full GC 频率)\n- CPU高\ \ + 内存正常 → 计算密集或锁竞争(查看线程状态分布)\n- CPU正常 + 内存持续上涨 → 内存泄漏(查看对象引用链)\n\n####\ \ 第二层:中间件瓶颈\n\n**数据库瓶颈深度分析**:\n\n| 症状 | 数据特征 | 根因推导 | 置信度 |\n|------|----------|----------|--------|\n\ | 连接池耗尽 | 使用率 >95% | ① 慢SQL占用连接 ② 连接泄漏 ③ 池配置偏小 | 需慢SQL日志确认→高 |\n| DB CPU\ \ 高 | >80% | ① 全表扫描 ② 复杂Join ③ 锁等待 | 需执行计划确认→高 |\n| 慢查询增多 | P99响应时间突增\ \ | ① 缺少索引 ② 数据量增长 ③ 统计信息过期 | 需执行计划确认→高 |\n| 锁等待增多 | 并发TPS上不去 | ① 死锁 ②\ \ 行锁竞争 ③ 事务过长 | 需锁监控确认→中 |\n\n**Redis 瓶颈分析**:\n\n| 症状 | 数据特征 | 根因推导 |\n\ |------|----------|----------|\n| 命中率低 | <85% | ① Key设计不合理 ② 过期策略集中过期\ \ ③ 内存不足触发淘汰 |\n| 响应变慢 | 慢日志增多 | ① BigKey操作 ② 复杂计算命令(KEYS/SMEMBERS) ③\ \ 持久化阻塞 |\n| 内存使用高 | >80% | ① 数据未设置过期 ② BigKey ③ 淘汰策略不当 |\n\n**消息队列瓶颈分析**:\n\ \n| 症状 | 数据特征 | 根因推导 |\n|------|----------|----------|\n| 消息积压 | 队列深度持续增长\ \ | ① 消费者处理慢 ② 消费者数量不足 ③ 分区不均匀 |\n| 消费延迟 | 延迟时间 > SLA | ① 批量消费配置不当 ② 消费者异常重启\ \ ③ 网络抖动 |\n\n#### 第三层:应用层瓶颈\n\n**JVM 相关**:\n\n| 症状 | 数据特征 | 根因推导 | 关联指标验证\ \ |\n|------|----------|----------|-------------|\n| 频繁 Full GC | GC停顿\ \ >1s,频率 >1次/min | ① 堆内存不足 ② 内存泄漏 ③ 大对象直接进老年代 | 老年代使用率趋势 |\n| Young GC\ \ 频繁 | GC间隔 <1s | ① 新生代配置过小 ② 短生命周期对象过多 | Eden区填充速率 |\n| OOM 频繁 | OutOfMemoryError\ \ | ① 内存泄漏 ② 堆配置不足 ③ 元空间不足 | Heap Dump分析 |\n\n**线程与锁**:\n\n| 症状 | 数据特征\ \ | 根因推导 |\n|------|----------|----------|\n| 线程池满 | 活动线程 = 最大线程数 | ①\ \ 阻塞IO操作 ② 死锁 ③ 线程泄漏 |\n| 响应时间长尾 | P99远大于P95 | ① 锁竞争 ② GC停顿 ③ 连接池等待 |\n\ | 吞吐量上不去 | TPS不随并发线性增长 | ① 瓶颈资源饱和 ② 串行化处理 ③ 线程数不足 |\n\n#### 第四层:架构层瓶颈\n\ \n| 症状 | 数据特征 | 根因推导 |\n|------|----------|----------|\n| 单台扩容无效 | 增加服务器TPS不提升\ \ | ① 共享资源瓶颈(DB/缓存) ② 分布式锁 ③ 全局序号生成 |\n| 串行调用延迟 | 总延迟 ≈ 各环节延迟之和 | ① 可并行的调用串行执行\ \ ② 同步调用可异步化 |\n| 缓存问题 | 缓存命中率突降 | ① 缓存穿透 ② 缓存雪崩 ③ 缓存击穿 |\n\n### 三、因果链路构建规则\n\ \n瓶颈往往不是孤立的,需要构建因果链:\n根本瓶颈 → 衍生瓶颈1 → 衍生瓶颈2 → 最终症状\n**示例因果链**:\n慢SQL(全表扫描)\ \ \n → DB连接池耗尽(连接被慢SQL占用)\n → 应用线程阻塞(等待数据库连接)\n → 响应时间急剧上升(P99\ \ > 8s)\n → 错误率上升(超时)\n → 有效TPS下降\n \n\n**构建规则**:\n\ 1. 从最终症状(TPS不达标/高错误率/高延迟)出发,逆推上游原因\n2. 区分**根本原因**(Root Cause)和**放大因素**(Aggravating\ \ Factor)\n3. 如果多个瓶颈同时存在,判断谁是\"因\"谁是\"果\"\n4. 置信度规则:有直接数据证据支撑的因果关系标注\"\ 高\",逻辑推导的标注\"中\",经验推断的标注\"低\"\n\n### 四、置信度评定标准\n\n| 置信度 | 评定条件 | 示例 |\n\ |--------|----------|------|\n| **高** | 有直接数据证据 + 因果关系明确 | DB CPU 92%\ \ + 连接池98% + 慢SQL日志 → 数据库瓶颈 |\n| **中** | 有间接数据证据 + 合理推导 | App CPU 65%\ \ + TPS随并发不增 → 可能存在锁竞争 |\n| **低** | 数据不足 + 经验推断 | 仅知TPS低,无监控数据 → 推测可能资源瓶颈\ \ |\n\n### 五、关注重点(focus_area)处理规则\n\n当用户指定了 focus_area 时:\n- 该领域的分析深度提升(给出更细致的子类分析)\n\ - 其他领域的分析保持基础级别(仍需排查,但不展开细节)\n- 在 primary_bottleneck 中优先考虑该领域的瓶颈\n- 如果该领域无异常,明确说明\"\ XX领域未发现异常\"\n\n---\n\n## 输出格式(严格JSON)\n\n```json\n{\n \"data_quality\"\ : {\n \"completeness\": \"完整/基本完整/部分缺失/严重不足\",\n \"missing_items\"\ : [\"缺失的数据项\"],\n \"impact_on_analysis\": \"对分析结论的影响说明\",\n \"recommendation\"\ : \"建议补充的数据\"\n },\n \"bottlenecks\": [\n {\n \"id\": \"BN-001\"\ ,\n \"level\": \"资源层/中间件层/应用层/架构层\",\n \"sub_level\": \"细分类别(如:中间件层-数据库-CPU)\"\ ,\n \"type\": \"瓶颈类型简称\",\n \"severity\": \"严重/高/中/低\",\n \ \ \"evidence\": {\n \"direct_metrics\": [\"直接支撑的指标数据\"],\n \ \ \"indirect_metrics\": [\"间接佐证的指标数据\"]\n },\n \"root_cause\"\ : \"详细根因分析(包含因果推导过程)\",\n \"is_root_cause\": true/false,\n \"\ confidence\": \"高/中/低\",\n \"confidence_reason\": \"置信度评定理由\",\n\ \ \"impact_on_target\": {\n \"tps_impact\": \"对TPS的影响估算\"\ ,\n \"response_time_impact\": \"对响应时间的影响\",\n \"error_rate_impact\"\ : \"对错误率的影响\"\n },\n \"related_bottleneck_ids\": [\"BN-002\"\ ]\n }\n ],\n \"bottleneck_chain\": {\n \"chain_description\":\ \ \"因果链路完整描述\",\n \"chain_visual\": \"根因 → 衍生1 → 衍生2 → 症状 的文字链路\",\n\ \ \"root_cause_id\": \"BN-XXX\",\n \"aggravating_factors\": [\"\ 放大因素说明\"]\n },\n \"primary_bottleneck\": {\n \"id\": \"BN-XXX\",\n\ \ \"summary\": \"首要瓶颈一句话总结\",\n \"rationale\": \"为什么判定为首要瓶颈的理由(数据+逻辑)\"\ ,\n \"resolution_priority\": \"应最先解决的理由\"\n },\n \"focus_area_analysis\"\ : {\n \"area\": \"用户关注的领域\",\n \"findings\": \"该领域的详细发现\",\n \ \ \"status\": \"存在瓶颈/未发现异常/数据不足无法判断\"\n },\n \"analysis_summary\": \"\ 整体分析总结(3-5句话)\"\n} " selected: false title: 瓶颈分析 type: llm vision: enabled: false height: 88 id: '1777288199008' position: x: 308 y: 182 positionAbsolute: x: 308 y: 182 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: false variable_selector: [] model: completion_params: temperature: 0.7 mode: chat name: deepseek-v4-flash provider: langgenius/deepseek/deepseek prompt_template: - id: 3b430df3-30ec-4883-a13c-3037201d3f69 role: system text: "## 角色\n你是一名资深性能优化专家,拥有丰富的生产环境调优经验。你能根据瓶颈分析结果,从\"零成本快速见效\"到\"架构级长期投入\"\ 给出分层分优先级的优化方案,每个方案都附带具体的操作步骤和验证方法。\n\n## 任务\n基于瓶颈分析结果,生成一份完整的、可落地的优化建议清单。\n\ \n## 输入数据\n\n### 瓶颈分析结果\n{{#1777288199008.text#}}\n\n### 标准化数据\n{{#1777286782207.text#}}\n\ \n### 用户关注重点\n{{#1777286493293.focus_area#}}\n\n---\n\n## 优化方案生成规则\n\n\ ### 一、总体原则\n\n1. **先易后难**:按 C1(配置调整) → C2(索引优化) → C3(SQL优化) → C4(缓存优化)\ \ → C5(代码优化) → C6(架构改造) → C7(资源扩容) 的顺序,优先推荐低风险低成本方案\n2. **量化一切**:每个方案必须给出量化的预期改善(如\"\ TPS提升20-30%\"),不允许\"有一定改善\"这类模糊表述\n3. **风险可控**:每个方案必须标注风险等级和回滚方案,高风险方案需给出降级措施\n\ 4. **验证闭环**:每个方案必须配套验证方法,让用户知道怎么确认优化生效\n5. **依赖关系**:标注方案间的依赖关系(如\"方案3依赖方案1先完成\"\ )\n6. **投入产出比**:优先推荐高ROI方案(低成本高收益),标注预估实施工期\n\n### 二、优先级评定标准\n\n| 优先级\ \ | 评定条件 | 标签 |\n|--------|----------|------|\n| P0-紧急 | 严重影响业务(错误率>5%、服务不可用),需立即处理\ \ | \U0001F534 紧急 |\n| P1-高 | 阻碍达标的核心瓶颈,低成本可快速解决 | \U0001F7E0 高优 |\n|\ \ P2-中 | 能显著改善性能但需要一定实施成本 | \U0001F7E1 中优 |\n| P3-低 | 锦上添花的优化,或需要较大架构改造\ \ | \U0001F7E2 建议 |\n\n### 三、方案分类映射规则\n\n根据瓶颈分析结果中的每个瓶颈,匹配对应的优化方案类别:\n\ \n| 瓶颈特征 | 推荐方案类别 | 理由 |\n|----------|-------------|------|\n| 连接池耗尽 |\ \ C1(调参) + C3(SQL优化) + C7(扩容) | 先调参,再优化SQL减少连接占用,最后考虑扩容 |\n| DB CPU高 |\ \ C2(索引) + C3(SQL) + C6(读写分离) | 先索引和SQL,再考虑架构级方案 |\n| 内存泄漏 | C5(代码修复)\ \ | 只能通过代码修复 |\n| GC频繁 | C1(JVM调参) + C5(代码优化) | 先调参缓解,再优化代码减少对象创建 |\n\ | 缓存命中率低 | C4(缓存优化) | 缓存策略调整 |\n| TPS不随并发增长 | C5(异步化) + C6(架构改造) | 可能存在串行化或共享资源瓶颈\ \ |\n| 响应时间尾延迟高 | C5(异步化) + C1(超时调整) | 隔离慢请求,避免拖慢整体 |\n\n### 四、特殊情况处理\n\ \n1. **多瓶颈叠加**:先解决根本瓶颈(`is_root_cause=true`),再处理衍生瓶颈\n2. **用户指定关注重点**:该领域的方案提升一个优先级\n\ 3. **数据不足**:方案中标注\"需进一步采集XX数据确认\",建议补充诊断步骤\n4. **技术栈未知**:给出通用方案,并提示\"\ 根据实际技术栈(Java/Go/Python等)调整具体步骤\"\n\n---\n\n## 输出格式(严格JSON)\n\n```json\n\ {\n \"optimization_plan\": [\n {\n \"id\": \"OPT-001\",\n \ \ \"priority\": \"P0/P1/P2/P3\",\n \"title\": \"方案标题(简洁,<20字)\"\ ,\n \"category\": \"C1/C2/C3/C4/C5/C6/C7\",\n \"category_name\"\ : \"类别全称\",\n \"target_bottleneck_id\": \"BN-XXX\",\n \"target_bottleneck_summary\"\ : \"针对的瓶颈简述\",\n \"description\": {\n \"current_state\": \"\ 当前问题描述\",\n \"solution_steps\": [\n \"步骤1:具体操作\",\n \ \ \"步骤2:具体操作\",\n \"步骤3:具体操作\"\n ],\n \"\ key_configuration\": {\n \"配置项\": \"建议值\",\n \"说明\"\ : \"配置说明\"\n }\n },\n \"expected_improvement\": {\n \ \ \"metric\": \"影响的指标\",\n \"before\": \"优化前值(引用标准化数据)\"\ ,\n \"after_expected\": \"预期优化后值(范围)\",\n \"improvement_percent\"\ : \"提升百分比范围\"\n },\n \"implementation\": {\n \"effort\"\ : \"低/中/高\",\n \"estimated_duration\": \"预估工期(如:2-4小时、1-2天、1-2周)\"\ ,\n \"team_requirement\": \"需要什么角色参与(如:DBA、后端开发、运维)\"\n },\n\ \ \"risk\": {\n \"level\": \"低/中/高\",\n \"description\"\ : \"风险说明\",\n \"rollback_plan\": \"回滚方案\",\n \"mitigation\"\ : \"风险缓解措施\"\n },\n \"prerequisites\": [\"前置条件1\", \"前置条件2\"\ ],\n \"dependencies\": [\"依赖的其他方案ID,如无则为空数组\"],\n \"verification\"\ : {\n \"method\": \"验证方法(具体操作步骤)\",\n \"success_criteria\"\ : \"成功标准(量化)\",\n \"regression_risk\": \"回归风险说明\"\n }\n \ \ }\n ],\n \"quick_wins\": {\n \"summary\": \"快速见效方案概要(1-2句话)\"\ ,\n \"items\": [\n {\n \"id\": \"OPT-XXX\",\n \"\ title\": \"方案标题\",\n \"effort\": \"预估工时\",\n \"expected_improvement\"\ : \"预期效果\"\n }\n ]\n },\n \"execution_roadmap\": {\n \"phase_1_emergency\"\ : {\n \"timeline\": \"0-24小时\",\n \"goal\": \"紧急止损\",\n \ \ \"action_items\": [\"OPT-001\", \"OPT-002\"]\n },\n \"phase_2_quick_wins\"\ : {\n \"timeline\": \"1-3天\",\n \"goal\": \"快速改善\",\n \"\ action_items\": [\"OPT-003\", \"OPT-004\"]\n },\n \"phase_3_deep_optimization\"\ : {\n \"timeline\": \"1-2周\",\n \"goal\": \"深度优化\",\n \"\ action_items\": [\"OPT-005\", \"OPT-006\"]\n },\n \"phase_4_architecture\"\ : {\n \"timeline\": \"1-2月\",\n \"goal\": \"架构升级\",\n \"\ action_items\": [\"OPT-007\"]\n }\n },\n \"estimated_total_improvement\"\ : {\n \"tps_improvement\": \"预期TPS提升范围(如:从185提升至350-450,提升90%-143%)\"\ ,\n \"response_time_improvement\": \"预期响应时间改善\",\n \"error_rate_target\"\ : \"预期错误率降低到\"\n },\n \"assumptions_and_caveats\": [\n \"假设1:说明\"\ ,\n \"注意事项1:说明\"\n ]\n}" selected: false title: 优化建议 type: llm vision: enabled: false height: 88 id: '1777288893095' position: x: 308 y: 280 positionAbsolute: x: 308 y: 280 selected: false sourcePosition: right targetPosition: left type: custom width: 242 viewport: x: 299.35273308627814 y: 65.5444311917609 zoom: 0.9771600253127248 rag_pipeline_variables: []
|