IBM Cloud 지원 통합
언제, 어떻게 IBM Cloud 성능 문제 지원을 받을 수 있는지 알아보세요.
셀프 서비스 리소스
티켓을 열기 전에 다음 사항을 확인하세요:
- IBM Cloud 데이터베이스 문서
- MongoDB 문서
- 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 콘솔 사용
- 상단 메뉴에서 지원으로 이동합니다.
- 케이스 작성을 클릭하십시오.
- 선택 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
심각도 레벨
| 심각도(Severity) | 설명 | 응답 시간 |
|---|---|---|
| 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 크기, 시간 범위 | 복구에 충분한 용량 |
빠른 진단 워크플로
// 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 })