IBM Cloud 支援整合
瞭解何時及如何讓 IBM Cloud 支援處理效能問題。
自助服務資源
開啟票單之前,請檢查下列內容:
- IBM Cloud 資料庫文件
- MongoDB 文件
- IBM Cloud 狀態頁
- 社群論壇和 Stack Overflow
何時聯絡 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 主控台
- 導覽到頂部功能表中的支援。
- 按一下建立案例。
- 選擇 Databases for MongoDB.
- 選擇嚴重程度。
- 提供詳細說明。
- 附加診斷檔案。
使用 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 小時 |
升級程序
如果問題未在預期時間內解決:
- 緊急更新支援個案。
- 請聯絡您的 IBM 帳戶團隊。
- 對於重要問題,請求管理升級。
支援最佳實務
- 預先提供完整的資訊。
- 迅速回應支援要求。
- 先在非生產中測試建議的解決方案。
- 將解決方案記錄下來,以供日後參考。
快速參考:診斷指令
MongoDB 性能故障排除的基本命令。
| 指令 | 目的 | 關鍵度量 | 正常值 |
|---|---|---|---|
db.serverStatus() |
整體伺服器統計資料 | CPU、記憶體、連線 | 依工作量而異 |
db.serverStatus().connections |
連線統計資料 | 當前、可用 | < 可用的 80 |
db.serverStatus().opcounters |
操作計數器 | 插入、查詢、更新、刪除 | 基線依賴 |
db.serverStatus().locks |
鎖定統計資料 | 廣域鎖定時間 | < 總時間的 10% |
db.serverStatus().wiredTiger.cache |
快取記憶體統計 | 快取命中率 |
|
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 })