IBM Cloud 支援整合

瞭解何時及如何讓 IBM Cloud 支援處理效能問題。

自助服務資源

開啟票單之前,請檢查下列內容:

何時聯絡 IBM 支援

如有下列情況,請聯絡支援人員:

  • 遵循本指南後,效能問題仍然存在。
  • 儘管已進行最佳化,但複製仍繼續滯後。
  • 在沒有工作負載尖峰的情況下,磁碟延遲仍然很高。
  • 疑似基礎結構層級問題。
  • 縮放後的意外行為。
  • 部署健康問題。
  • 備份或還原問題。

聯絡支援人員之前

收集下列資訊:

  • 部署詳細資料

    • 部署 ID (CRN)
    • 區域與可用性區域
    • 目前的計劃和資源
    • MongoDB 版本
  • 問題詳細資料

    • 問題的時間窗 (含時區)
    • 觀察到的症狀
    • 對應用程式的影響
    • 最近的變更 (程式碼、組態、縮放)
  • 效能資料

    • 來自 Sysdig 的監控截圖
    • 導致問題的查詢範例
    • 診斷指令的輸出
    • Activity Tracker 問題視窗中的事件
  • MongoDB 診斷

    # Collect diagnostic data
    mongo "your-connection-string" --eval "
      printjson(db.serverStatus());
      printjson(db.currentOp());
      printjson(rs.status());
    " > mongodb-diagnostics.json
    

開啟支援問題單

使用 IBM Cloud 主控台

  1. 導覽到頂部功能表中的支援
  2. 按一下建立案例
  3. 選擇 Databases for MongoDB.
  4. 選擇嚴重程度。
  5. 提供詳細說明。
  6. 附加診斷檔案。

使用 IBM Cloud CLI

# Create support case
ibmcloud support case-create \
  --subject "MongoDB Performance Issue" \
  --description "Detailed description of issue" \
  --severity 2 \
  --offering databases-for-mongodb

嚴重性層次

嚴重性層次
嚴重性 說明 回應時間
1(嚴重) 生產癱瘓、資料遺失 1 小時
2 (高) 效能大幅下降 2 小時
3(中) 中度影響,可提供變通方案 4 小時
4 (低) 一般問題、功能需求 8 小時

升級程序

如果問題未在預期時間內解決:

  1. 緊急更新支援個案。
  2. 請聯絡您的 IBM 帳戶團隊。
  3. 對於重要問題,請求管理升級。

支援最佳實務

  • 預先提供完整的資訊。
  • 迅速回應支援要求。
  • 先在非生產中測試建議的解決方案。
  • 將解決方案記錄下來,以供日後參考。

快速參考:診斷指令

MongoDB 性能故障排除的基本命令。

診斷指令
指令 目的 關鍵度量 正常值
db.serverStatus() 整體伺服器統計資料 CPU、記憶體、連線 依工作量而異
db.serverStatus().connections 連線統計資料 當前、可用 < 可用的 80
db.serverStatus().opcounters 操作計數器 插入、查詢、更新、刪除 基線依賴
db.serverStatus().locks 鎖定統計資料 廣域鎖定時間 < 總時間的 10%
db.serverStatus().wiredTiger.cache 快取記憶體統計 快取命中率

95%

db.currentOp() 目前營運 主動查詢、鎖 長期執行的作業很少
db.currentOp({ waitingForLock: true }) 等待鎖的作業 鎖定競用 應為空
rs.status() 複製集狀態 複製滯後、會員健康 滯後時間 < 1 秒
rs.printSecondaryReplicationInfo() 複製滯後詳情 每個次級的滯後時間 滯後時間 < 1 秒
db.collection.stats() 收集統計資料 大小、索引大小、文件數量 監控成長
db.collection.find().explain("executionStats") 查詢執行計畫 執行時間、檢查文件 使用索引
db.system.profile.find() 慢速查詢日誌 作業緩慢 定期檢閱
sh.status() 分片狀態(如適用) 塊狀分佈 平均分佈
db.adminCommand({ top: 1 }) 藏品使用統計 熱門收藏 辨識最佳化目標
db.printReplicationInfo() Oplog 資訊 Oplog 大小、時間範圍 足以恢復

快速診斷工作流程

// 1. Check overall health
db.serverStatus().ok  // Should return 1

// 2. Check connections
var conn = db.serverStatus().connections;
print("Connections: " + conn.current + "/" + conn.available);

// 3. Check replication (if replica set)
rs.status().ok  // Should return 1

// 4. Check for slow operations
db.currentOp({ "secs_running": { $gt: 5 } })

// 5. Check cache efficiency
var cache = db.serverStatus().wiredTiger.cache;
var hitRatio = 1 - (cache["pages read into cache"] /
  (cache["pages read into cache"] + cache["pages requested from the cache"]));
print("Cache hit ratio: " + (hitRatio * 100).toFixed(2) + "%");

// 6. Check for lock contention
db.currentOp({ waitingForLock: true })