많은 트래픽을 수신하고 낮은 대기 시간 SLA를 유지해야 하는 Golang 애플리케이션이 있습니다. 최근 우리는 Docker 컨테이너에서 애플리케이션을 실행하면 어떤 방식으로든 애플리케이션 성능이 저하되는지 조사하고 있었습니다. 그래서 호스트(EC2)에서 직접 실행하여 비교해 보았습니다. 호스트가 " " 오류를 매우 빠르게 표시하는 문제에 직면해 있습니다 Too Many Open Files
.
몇 가지 사실:
- 컨테이너는 ulimit 없이 실행됩니다
ulimit
(호스트 ulimit 사용). - 이 작업을 수행
lsof
하고 모든 행을 합산하면 한계(1048576)에 도달하지 않습니다.