웹 서버 프레임워크 - web seobeo peuleim-wokeu

평소 무심코 방문하는 웹 사이트도 뒤에서는 다양한 프레임 워크를 활용하고 있습니다.Web Framework Benchmarks는 그러한 프레임 워크들의 속도를 측정하고 벤치마킹하여 정리한 것으로, 2013년에 나온 이후, 매년 업데이트가 쌓여 다양한 프레임 워크의 성능을 한눈에 확인할 수 있게 되어있습니다.

TechEmpower Framework Benchmarks

TechEmpower Web Framework Performance Comparison

Performance comparison of a wide spectrum of web application frameworks and platforms using community-contributed test implementations.

www.techempower.com


위의 URL에 액세스 하면 2020년 5월 28일에 업데이트된 'Round 19'의 내용이 표시됩니다.


이런 식으로 테스트 결과가 랭킹 형식으로 표시됩니다. 다양한 테스트 결과가 나와 있습니다만, 처음에 표시되는 Fortunes는 데이터베이스를 읽고 HTML을 생성하는 일반적인 웹 사이트에 가까운 모드입니다. 이 테스트에서 1위를 차지한 것은 C++로 작성된 'Drogon'이라는 프레임워크로 테스트 머신인 Dell R440은 초당 67만 8,278건의 요청을 처리할 수 있었습니다.

an-tao/drogon

Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows - an-tao/drogon

github.com


php에 Nginx와 PostgreSQL의 표준 조합은 11위로 상위 수준. DB를 MySQL로 바꾸면 다소 처리 속도가 떨어지면서 23위를 차지했습니다.


그래프의 오른쪽에는 프레임워크의 분류와 이용되는 언어 등 다양한 환경 정보를 담고 있습니다. 풀 스택 프레임워크 뿐만 아니라 플랫폼과 마이크로 프레임워크까지 비교하려면 이런 정보도 필요합니다.


오른쪽 상단의 'Hardware'컬럼에서 'Cloud'를 클릭하면 클라우드의 가상 서버의 테스트 결과로 전환할 수 있습니다. 실제 서버에서는 5위 였던 Rust의 may-minihttp 프레임워크가 1위에 올라오는 등, 의외로 변동이 있는 모양입니다. 또한 가상 서버로는 Azure의 D3 v2가 사용되었습니다.

가격 - Linux Virtual Machines | Microsoft Azure

Azure에서는 Linux Virtual Machines를 위한 다양한 가격 옵션을 제공합니다. 여러 라이선싱 범주에서 선택하여 시작하세요.

azure.microsoft.com


특정 벤치 마크만 필터링할 수 있습니다. 그래프 위에 있는 'Show filters panel'을 클릭하면...


이런 식으로 프레임워크의 분류, 언어 및 플랫폼, 프런트 엔드 서버, DB서버 등을 구체화하는 패널이 나타납니다.


예를 들어 JavaScript 프레임 워크만 보고 싶을 때는 Language를 'JavaScript'만 유효한 상태로 하면 OK.


필터를 설정하면 오른쪽 아래의 'Apply changes'를 클릭하면 표에 반영됩니다.


필터에 표시된 1위를 백분율로 다시 계산하여 보여줌으로 동일 언어 프레임워크 간의 차이를 일목 요연하게 볼 수 있습니다. 괄호 안에는 원래의 백분율을 표시하며 전체로 봤을 때의 포지션도 잃지 않고 보여주고 있습니다.


가장 아래에 있는 'Fortunes'는 Unix의 포춘 쿠키 메시지를 이용한 테스트입니다.


Fortunes 이외에도 JSON 직렬화 DB 쿼리 등 총 8개의 테스트가 준비되어 있습니다만, 'Composite scores'페이지에서 모든 테스트를 통과한 정예들의 종합 평가를 확인할 수 있습니다. 여기서도 1위를 획득한 것은 Drogon이었습니다.

TechEmpower Web Framework Performance Comparison

Performance comparison of a wide spectrum of web application frameworks and platforms using community-contributed test implementations.

www.techempower.com

또한 이 벤치 마크에 사용되는 소스 코드는 GitHub에서 공개되어 있으며, 프레임 워크의 설정을 수정하거나 새로운 프레임 워크의 추가는 pull request로 받아준다고 합니다.

TechEmpower/FrameworkBenchmarks

Source for the TechEmpower Framework Benchmarks project - TechEmpower/FrameworkBenchmarks

github.com

Toplist

최신 우편물

태그