【AWS】 fargate간의 응답 타임과 사이드카

소개



fargate에서 복수의 컨테이너간 통신이 발생하는 경우 fargate간의 응답 타임이 얼마나 걸리는지 신경이 쓰였으므로 참고까지 측정해 본 메모.

구성



비교용으로 동일한 태스크상에 복수 컨테이너(사이드카)를 구축한 경우와 다른 태스크로부터 ELB 경유로 액세스했을 때에 비교를 실시했다.


측정 조건



다른 작업의 컨테이너에서 ELB를 통해 API Server에 액세스하는 경우,
동일한 작업의 컨테이너에서 localhost로 API Server에 액세스하는 경우
하기 curl로 측정하였다(localhost의 경우의 커맨드 예).
curl -kL -s -o /dev/null -w "%{time_total}\n" http://127.0.0.1/api

여기서는 time_total를 응답 시간으로 설정합니다.

또한 각 컨테이너 내에서 lscpu를 보았을 때 다른 것이었기 때문에 다른 인스턴스에 배치되어 있다고 가정합니다.

측정 결과



10회 측정하여 가장 빠르고 가장 느린 것을 잘라 8회의 평균치로 한다.



다른 작업
동일한 작업


1
8
2

2
9
3

3
8
2

4
9
2

5
8
2

6
8
1

7
9
1

8
8
2

9
9
1

10
8
1

Ave.
8.4
1.6


(msec)

다른 태스크로 하는 것으로 2자간의 차이인 6.8msec가 타게 된다.

처리량



마찬가지로 큰 페이로드 크기 (100MB 미만)를 전송할 때의 처리량에 대해서도 측정



다른 작업
동일한 작업


1
4,925
386

2
3,611
379

3
4,484
377

4
2,925
380

5
3,865
353

6
4,205
353

7
2,828
359

8
3,944
352

9
3,325
363

10
4,353
358

Ave.
3,839
365


(msec)

2자간의 차이와 페이로드 사이즈(88,099,412byte)로부터 약 200Mbps 정도로 추정된다

요약



이 대기 시간이 허용되는지 여부에 따라 동일한 작업에 구성되어야하는지 여부를 고려할 수 있습니다.
다만 스케일 시키는 경우는 태스크 단위가 되기 때문에 트레이드 오프이다.
또 본 계측치는 fargate의 vCPU 타입이나 그 외 구성 등 조건에 따라 달라지기 때문에 참고치 정도에 그대로 둔다.

좋은 웹페이지 즐겨찾기