728x90


https://www.techempower.com/benchmarks/


위 사이트는 웹 프레임워크의 성능을 측정해 주는 사이트이다.

여러분이 웹 프레임워크를 무엇을 고를지 고민이라면 이 사이트를 참조하면 좋을 것이다.

단 프레임워크라기보단 라이브라리에 가까운 것들도 존재한다.

거기에 대해서도 이미 이 사이트에서 인지하고 있다. 그걸 매우 긴 장문...을 통해서 설명했으니까 불편해하지는 말자.


테스트는 어찌했는지 궁금할 것이다.

사이트에는 이렇게 적혀있다.


"How is each test run?" Each test is executed as follows:

Restart the database servers.

Start the platform and framework using their start-up mechanisms.

Run a 5-second primer at 8 client-concurrency to verify that the server is in fact running. These results are not captured.

Run a 15-second warmup at 256 client-concurrency to allow lazy-initialization to execute and just-in-time compilation to run. These results are not captured.

Run a 15-second captured test for each of the concurrency levels (or iteration counts) exercised by the test type. Concurrency-variable test types are tested at 8, 16, 32, 64, 128, and 256 client-side concurrency. The high-concurrency plaintext test type is tested at 256, 1,024, 4,096, and 16,384 client-side concurrency.

Stop the platform and framework.


또한 물리서버와 클라우드서버의 결과를 볼 수 있으며 스펙도 사이트에 찾아보면 나온다.

이 데이터를 신뢰하느냐 마느냐도 여러분의 선택이지만 왜 이렇게 선택했느냐에 대해선 매우매우 장문으로 설명이 되어 있다.

그걸 선택해서 보도록하자.


옆에 추가적인 프레임워크의 설명도 존재한다.


항목 역시 여러개가 존재한다.

RESTful서버의 성능을 보고싶다면 JSON을, web서버의 성능을 보고싶다면 fortunes을, socket의 성능을 보고싶다면 Data Update를 보는게 좋을 것이다.


충격적인 결과가 많아서 놀랄 것이다.

cpp로 제작되서 빠를것만 같았던 cppCMS가 매우 낮은 등급을 받거나 느리다고 생각했던 servlet이 사실 미치도록 빠른 편이였다.

자바 진영들이 대체로 강세였으며 netty가 왜 자주쓰이는지를 알 수 있었다. 다만 스프링은 꽤 느린편이였다.

또한 nodejs쪽은 libuv덕분에 매우 빠른 속도를 보였으며 go쪽 역시 꽤 선방한 속도를 보인다.

다면 python(django, flask)과 루비(rails, sinatra), php(codeigniter, laravel)의 속도는.... 개발속도와 정확히 반비례되는 깔끔한 느림을 보여주었다..


여러 환경에서 테스트한 결과들이 있으니 찾아서 보면 도움이 될 것이다.

+ Recent posts