반응형

DevOps/성능 테스트 3

부하 테스트 계획 및 도구

부하 테스트 진행 전 서비스 수준 목표(SLO) 설정 Latency에 중점을 둔 SLO 예시 GET 호출의 90%는 1ms 이내에 완료해야 한다. GET 호출의 99%는 10ms 이내에 완료해야 한다. GET 호출의 99.9%는 100ms 이내에 완료해야 한다. Throughput에 중점을 둔 SLO 예시 (1일 기준으로의 RPS 계산) - 순간적으로 요청이 치솟는 피크(peak) 트래픽에서의 처리량을 바탕으로 함 DAU(Daily Active User : 1일 접속자 수 ) : 5만명 1명당 편균 접속 횟수 : 20회 1일 평균 접속 수에 대한 피크 트래픽 배율 : 3배 (보통 평균의 2~3배를 곱함) 안전 계수 (얼마만큼 넉넉하게 프로비저닝 할 것인가) : 3배 하루 = 86,400초 50000 x ..

병목현상이란? (원인과 대책)

병목현상 이란? - 시스템 내에서 전체적인 처리 속도를 떨어뜨리게 되는 특정한 부분을 가리키는 용어 - 시스템의 CPU나 메모리, 디스크 등의 자원 중 하나가 다른 자원들에 비해 처리 속도가 느려서, 전체적인 성능을 제한하는 경우를 말함 - 효율적인 자원분배 및 최적화를 고려해야함 응답성능에 대한 병목현상 원인 - 네트워크 대역폭 부족 - 하드웨어 자원 부족 - 어플리케이션 설계의 문제 - 데이터베이스 부하 Throughput 개선 - 시스템의 흐름을 고속도로에 비유해보자 - 대구와 부산 사이에 병목현상이 발생하고 있다. - 통행량을 늘려 병목현상을 해결한다. - 처리량에 대해서 네트워크 대역폭이나 부족한 자원을 증가시켜 처리할 수 있다. ** Throughtput의 개선이 Latency 개선으로 이어진..

가용성 및 확장성 평가 / 부하 테스트 (Throughtput)

가용성과 확장성을 염두하여 시스템을 설계하는 것이 중요하다. 다수의 노드를 가진 분산 시스템, 또한 서버리스 아키텍처 등을 통해 가용성과 확장성 확보가 가능하다. 가용성(Availability)이란? 가용성이란 - 시스템이 정상적으로 사용 가능한 정도 - uptime / (uptime + downtime) => 정상가동시간(uptime), 사용 불가 시간(downtime), 합친 전체 사용 시간 (uptime + downtime) - ex) 가용성 99.95% = 약 1년에 4시간 22분의 다운타임을 갖는다. * 단일 장애점 (Single Point of Failure)을 없애야 한다. ** 어떤 한 노드에서 장애가 발생해도, 동일한 처리 능력을 가진 다른 노드로 대체 될 수 있어야 한다. => 시스템 ..

반응형