언제 AWS RDS MySQL 서버 인스턴스를 더 큰 CPU/RAM으로 늘려야 합니까?

언제 AWS RDS MySQL 서버 인스턴스를 더 큰 CPU/RAM으로 늘려야 합니까?

RDS MySQL 서버의 이미지를 더 큰 CPU/RAM 인스턴스로 늘리려면 어떤 단계가 필요한지 궁금합니다.

CPU 사용률 그래프는 0에 가깝습니다. 평균 여유 메모리는 약 150MB입니다. 평균 스왑 사용량은 420MB입니다.

읽기 지연 시간은 0~20ms/op이며 무작위로 급증합니다. 평균 쓰기 지연 시간은 평균 5ms/op이지만 최대 10~20ms/op까지 급증합니다.

여기에 따라야 할 몇 가지 공통 규칙이 있습니까?

감사해요!

답변1

일반적인 규칙은 없습니다.

성과 규칙은 자의적인 목표가 아닌 비즈니스 및 기술 목표에 따라 설정되어야 합니다.

해결하거나 예방하려는 성능 문제는 무엇입니까?

측정항목은 성능을 동일시하지 않으며 비즈니스 또는 기술 목표와도 거의 관련이 없는 경우가 많습니다.

일반적으로 저는 성능의 두 가지 측면을 살펴봅니다.

  • 성능 목표를 달성하기 위해 모니터링해야 하는 지표는 무엇입니까?
  • 이러한 성능 목표를 달성하기 위해 얼마나 많은 리소스 오버헤드를 유지하고 싶습니까?

다른 데이터 없이 데이터베이스 리소스 메트릭에만 집중하는 것은 그다지 유용하지 않을 수 있습니다. 이러한 측정항목에는 컨텍스트가 필요합니다. 그렇지 않으면 조기 최적화일 뿐입니다.

이와 같은 지표는 활용률을 알고 있는 경우 용량 계획에 유용합니다.

따라서 아마도 더 중요한 질문은 다음과 같습니다.

  • 최고 사용량 수준에서 내 애플리케이션이 허용 가능한 한도 내에서 성능을 발휘하고 있습니까?
  • 사용량이 가장 많을 때 내 리소스 활용도는 얼마입니까?
  • 예상 성장에 따라 리소스 활용도는 어떻게 되나요?

나는 사람들이 내가 핑, 전원, 파이프(CPU/디스크/RAM)라고 부르는 것에 집중하는 것을 너무 자주 발견합니다. 집중해야 할 중요한 사항은 거의 없습니다.

위의 질문에 대한 데이터를 얻고 목표를 설정하면 기술적, 비즈니스적 정당성을 모두 갖춘 확장성 결정을 내리는 데 도움이 됩니다.

답변2

RDS 인스턴스에서 본 바에 따르면 FreeableMemory는 상당히 낮고 SwapUsage는 상대적으로 높습니다. 귀하의 워크로드는 메모리 집약적이며 최소한 메모리를 추가하면 성능이 향상될 것 같습니다.

보다 일관된 대기 시간을 위해 이미 최소 300GB의 스토리지를 할당한 경우 프로비저닝된 IOP를 사용하는 것이 좋습니다.http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.html

관련 정보