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

웹 서버 프레임워크 - 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

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


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

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


이런 식으로 테스트 결과가 랭킹 형식으로 표시됩니다. 다양한 테스트 결과가 나와 있습니다만, 처음에 표시되는 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

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


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

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


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

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


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

가격 - Linux Virtual Machines | Microsoft Azure

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

azure.microsoft.com

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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

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

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

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

TechEmpower/FrameworkBenchmarks

Source for the TechEmpower Framework Benchmarks project - TechEmpower/FrameworkBenchmarks

github.com

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