이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 5|회답: 0

[웹] [재게시] Traefik 대 Nginx 공식 벤치마크

[링크 복사]
게시됨11분 전 | | |
트라에픽이란 무엇인가요?

Traefik은 핵심 개념인 서비스 디스커버리 퍼스트(Service Discovery First)를 중심으로 한 현대적인 7계층 리버스 프록시 및 부하 분산 시스템입니다.

전통적인 역대리서(예: Nginx)와 가장 큰 차이점은 많은 구성 파일을 수동으로 작성할 필요가 없다는 점입니다; Traefik은 런타임 환경을 능동적으로 '관찰'하고 자동으로 라우팅 규칙을 생성합니다.

"구성으로서의 서비스" 기능 때문에 Traefik은 다음과 같은 상황에 특히 적합합니다:

  • 도커 / 도커 컴포즈
  • Kubernetes(Ingress Controller)
  • 마이크로서비스 아키텍처
  • 소규모 팀 또는 독립 개발자를 위한 온라인 서비스

간단히 말해, 서비스가 '동적'이라면 Traefik은 전통적인 역대행보다 훨씬 번거로움이 없습니다.

벤치마크

심성

벤치마킹에 필요한 인프라를 아낌없이 제공해 주신 exoscale.ch VincentBernat에게 감사드립니다.

4개의 가상 머신을 사용해 테스트했으며, 다음과 같이 구성했습니다:

32GB 메모리
8개의 CPU 코어
10GB 솔리드 스테이트 드라이브
Ubuntu 14.04 LTS 64비트

설립하다

벤치마킹 도구 WRK를 실행하는 데 가상 머신이 사용됩니다
Traefik (v1.0.0-beta.416) / nginx (v1.4.6)용 가상 머신
Go에서 두 개의 백엔드 서버를 위해 두 개의 가상 머신을 누가 구성하고 있나요?
각 가상 머신은 다음과 같은 제한 사항을 적용하여 조정되었습니다:
은긴스

아래는 Nginx 구성 파일 /etc/nginx/nginx.conf의 사용 방법입니다:
아래는 사용된 Nginx 가상 호스팅 구성 파일입니다:
트라에픽

다음은 traefik.toml에서 사용되는 파일들입니다:
결과
와미:
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latency http://IP-whoami:80/bench
1m 테스트 @ http://IP-whoami:80/bench 진행 중입니다
20개의 나사산과 1000개의 연결
스레드 통계 평균 Stdev 최대 +/- Stdev
지연 시간 70.28ms 134.72ms 1.91초 89.94%
Req/sec 2.92k 742.42 8.78k 68.80%
지연 분포
50% 10.63ms
75% 75.64ms
90% 205.65ms
99% 668.28ms
3476705 요청 1.00m, 384.61MB 읽기 용량
소켓 오류: 연결 0, 읽기 0, 0 쓰기, 타임아웃 103
요청/초: 57894.35
전송/초: 6.40MB

nginx:
wrk -t20 -c1000 -d60s -H "호스트: test.traefik" --latency http://IP-nginx:8001/bench
1m 테스트 @ http://IP-nginx:8001/bench 진행 중
20개의 나사산과 1000개의 연결
스레드 통계 평균 Stdev 최대 +/- Stdev
지연 101.25ms 180.09ms 1.99초 89.34%
Req/sec 1.69k 567.69 9.39k 72.62%
지연 분포
50% 15.46ms
75% 129.11ms
90% 302.44ms
99% 846.59ms
2018427 요청 1.00m, 298.36MB 읽기
소켓 오류: 연결 0, 읽기 0, 쓰기 0, 타임아웃 90
요청/초: 33591.67
전송/초: 4.97MB

트라에픽
wrk -t20 -c1000 -d60s -H "Host: test.traefik" --latency http://IP-traefik:8000/bench
1m 테스트 @ http://IP-traefik:8000/bench 진행 중입니다
20개의 나사산과 1000개의 연결
스레드 통계 평균 Stdev 최대 +/- Stdev
지연 91.72ms 150.43ms 2.00초 90.50%
Req/sec 1.43k 266.37 2.97k 69.77%
지연 분포
50% 19.74ms
75% 121.98ms
90% 237.39ms
99% 687.49ms
요청 1705073 100만 명, 읽기 188.63MB
소켓 오류: 연결 0, 0 읽기, 0 쓰기, 타임아웃 7
요청 수/sec: 28392.44
전송/초: 3.14MB

결론
Traefik의 속도는 Nginx보다 확실히 느리지만, 차이는 크지 않습니다: Traefik은 초당 28,392건의 요청을 처리하는 반면, Nginx는 초당 33,591건의 요청을 처리하며, 성능은 85%입니다. 젊은 프로젝트치고는 꽤 좋은 :)입니다!

개선할 부분:

모니터GO_REUSEPORT 사용하세요

각 CPU 코어는 별도의 서버 인스턴스 GOMAXPROCS=1을 실행합니다(벤치마크 결과 Traefik이 nginx보다 훨씬 더 많은 컨텍스트 스위칭을 지원합니다).

원문 언어:하이퍼링크 로그인이 보입니다.




이전의:NAS용 QTS와 QuTS Hero 운영체제의 차이점
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com