📊Benchmarks
Last updated
Last updated
이 벤치마크는 Fiber와 다른 웹 프레임워크의 성능을 비교하는 것을 목표로 합니다.
TechEmpower는 JSON 직렬화, 데이터베이스 액세스 및 서버 사이드 템플릿 구성과 같은 기본 작업을 실행하는 많은 웹 애플리케이션 프레임워크의 성능 비교를 제공합니다.
각 프레임워크는 실제 프로덕션 구성에서 작동합니다. 결과는 클라우드 인스턴스 및 물리적 하드웨어에서 캡처됩니다. 테스트 구현은 대부분 커뮤니티에서 제공하며 모든 소스는 GitHub 리포지토리에서 사용할 수 있습니다.
Fiber v1.10.0
28 HT Cores Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz
32GB RAM
Ubuntu 18.04.3 4.15.0-88-generic
전용 Cisco 10-Gbit 이더넷 스위치.
Plaintext 테스트는 특히 고성능 플랫폼의 용량을 보여주기 위해 설계된 요청 라우팅 기본사항만 실습합니다. 요청은 HTTP 파이프라이닝을 사용하여 전송됩니다. 응답 페이로드는 여전히 작습니다. 즉, 테스트 환경의 기가비트 이더넷을 포화시키려면 여전히 좋은 성능이 필요합니다.
Fiber - 평균 지연 시간이 2.0 ms인 초당 6,162,556 응답.
Express - 평균 지연 시간이 354.1 ms인 초당 367,069 응답.
Fiber는 평균 지연 시간이 42.8 ms인 초당 11,846 응답을 처리했습니다.
Express는 평균 지연 시간이 390.44 ms인 초당 2,066 응답을 처리했습니다.
Fiber는 평균 지연 시간이 25.7 ms인 초당 19,664 응답을 처리했습니다.
Express는 평균 지연 시간이 117.2 ms인 초당 4,302 응답을 처리했습니다.
Fiber는 평균 지연 시간이 0.7 ms인 초당 368,647 응답을 처리했습니다.
Express는 평균 지연 시간이 4.4 ms인 초당 57,880 응답을 처리했습니다.
Fiber는 평균 지연 시간이 0.4 ms인 초당 1,146,667 응답을 처리했습니다.
Express는 평균 지연 시간이 1.1 ms인 초당 244,847 응답을 처리했습니다.
🔗 https://github.com/smallnest/go-web-framework-benchmark
CPU Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz MEM 4GB GO go1.13.6 linux/amd64 OS Linux
첫 번째 테스트 케이스는 핸들러에서 0 ms, 10 ms, 100 ms, 500 ms 처리 시간을 모방하는 것입니다.
동시 클라이언트 수는 5000입니다.
지연 시간은 웹 서버에서 실제 처리 시간입니다. 작을수록 좋습니다.
할당은 테스트가 실행될 때 웹 서버에 의해 힙 할당됩니다. 단위는 MB입니다. 작을수록 좋습니다.
HTTP 파이프라이닝을 활성화하면 다음과 같은 테스트 결과를 얻습니다:
30 ms 처리 시간에서 100, 1000, 5000 클라이언트에 대한 동시성 테스트 결과는 다음과 같습니다:
HTTP 파이프라이닝을 활성화하면 다음과 같은 테스트 결과를 얻습니다:
v1.9.0
의 종속성 그래프