如何关闭 AI 调优并回退到手动配置?

解读

面试官真正想考察的是:

  1. 你是否清楚 Cloud SQL 的“AI 调优”到底指哪一类功能(Cloud SQL 智能调优器 / Cloud SQL Insights 自动建议 / Cloud SQL 自动存储扩容 等)。
  2. 你是否能在零停机、可灰度、可审计的前提下,把自动行为关掉并还原为显式手动参数,同时保证变更可回滚、可追踪、符合国内合规要求
  3. 你是否理解国内云环境下“手动配置”往往还要对接审批流、变更工单、DBA 审计表,而不仅是改个 flag。

知识点

  1. Cloud SQL 旗舰级自动调优能力
    • 自动存储扩容(automatic storage increase)
    • 自动增加 IOPS(automatic storage increase 附带)
    • Insights 自动索引建议(auto-index recommendations)
    • 查询计划自动演化(自动统计信息更新)
  2. 关闭入口
    • 控制台、gcloudTerraformREST API 四选一;国内面试必须答出 gcloudTerraform 双方案。
  3. 国内合规要点
    • 变更必须落工单系统(如 Jira、蓝凌),gcloud 命令需加 –-format=json 输出留痕;
    • Terraform 代码必须走 GitLab MR + Atlantis 计划,MR 标题带“回退手动配置”关键字,方便审计。
  4. 灰度策略
    • 先关非生产实例,观察 24 h 存储水位
    • 生产实例采用维护窗口maintenance window)内滚动重启,避免触发国内金融客户的“交易时段”红线。
  5. 回滚预案
    • 手动配置后,需保留最近一次自动调优前的全量备份recovery point objective ≤ 5 min),并验证Point-in-Time Recovery 可用。

答案

  1. 识别实例当前已启用的自动调优项:
    gcloud sql instances describe <INSTANCE_ID> \
      --project=<PROJECT_ID> \
      --format="value(settings.storageAutoResize,settings.insightsConfig.queryInsightsEnabled)"
    
  2. 关闭自动存储扩容(国内最常见诉求):
    gcloud sql instances patch <INSTANCE_ID> \
      --storage-auto-resize=false \
      --storage-size=<MANUAL_SIZE_GB> \
      --project=<PROJECT_ID>
    
    注意:必须显式给出 –-storage-size,否则国内审计会被视为“配置漂移”。
  3. 关闭Insights 自动索引建议
    gcloud sql instances patch <INSTANCE_ID> \
      --insights-config-query-insights-enabled=false \
      --project=<PROJECT_ID>
    
  4. Terraform 侧回退模板(国内金融客户必问):
    resource "google_sql_database_instance" "manual" {
      settings {
        tier = "db-custom-4-15360"
        disk_autoresize = false
        disk_size       = 500   # 固定 500 GB
        insights_config {
          query_insights_enabled = false
        }
      }
    }
    
    MR 通过 Atlantis plan 后,Terraform applyDBA 双人审批方可执行。
  5. 验证关闭成功:
    • 控制台**“存储”页签**显示“自动扩容:已停用”;
    • Cloud Logging 过滤 protoPayload.methodName="cloudsql.instances.update" 确认 user 字段为本次工单账号,authorizationInfo.permissioncloudsql.instances.update,满足国内等保操作可审计要求。

拓展思考

  1. 如果面试官追问“AI 调优关闭后性能下降怎么办”,可答:
    • 先打开 Cloud SQL Insights 只读模式query_insights_enabled=true, recordApplicationTags=false),不启用自动索引,仅采集负载;
    • pg_stat_statementssys.statement_analysis 手动定位 TOP SQL,再通过工单系统提交索引变更,走传统 DBA 审批流,既保留人工决策,又不违背“关闭自动”初衷。
  2. 国内双录要求(录音录像)场景:
    • gcloud 命令前加 script -q -c 生成 typescript 文件,上传到 OSS 桶并打标签 “change-id=xxx”,实现录屏留痕
  3. 若未来需要重新开启 AI 调优,务必先通过混沌工程平台24 h 压测,验证自动扩容阈值是否触发国内央行报备阈值(单实例存储 > 2 TB 需报备),避免合规风险。