fastify가 다른 프레임워크보다 얼마나 더 나은 성능을 발휘합니까?
3302 단어 nodeperformanceframeworksfastify
Fastify는 무엇입니까?
Fastify은 강력한 플러그인 아키텍처를 기반으로 애플리케이션의 백엔드를 개발하기 위한 웹 프레임워크입니다.
Fastify
서버의 리소스를 효율적으로 처리하고 초당 serve the max
수를 requests
도와줍니다.그것은 사용자 기반 때문이 아니라 사용 가능한
most fastest
프레임워크라는 사실 때문에 마을에서 가장 인기 있는 프레임워크입니다.Fastify를 사용하는 이유는 무엇입니까?
시장에는 많은 대안이 있는데 왜
fastify
에 집중해야 할까요?이전에 백엔드 애플리케이션으로 작업한 적이 있다면
express
, koa
, hapi or restify
와 같은 인기 있는 프레임워크에 대해 들어봤을 것입니다. 이 중에서 가장 널리 사용되는 프레임워크는 Express.js
이며, 광범위한 사용과 커뮤니티 지원으로 인해 항상 차트의 최상위에 있습니다. 그러나 성능면에서는 그렇지 않습니다.이해하는 좋은 방법은 비교하는 것입니다.
fastify
와 express
사이에 수행한 비교를 살펴보십시오.첫 번째 이미지는
autocannon (a benchmarking tool)
를 사용한 급행입니다. 급행으로 제공되는 요청 수는 14k
입니다.fastify와 비교할 때 express보다 성능이 뛰어납니다. 초당 처리되는 요청 수는 28K로 express의 2배입니다.
다른 프레임워크와의 벤치마크에 대해서는 이 링크를 확인할 수도 있습니다. Benchmarks
성능의 이유
fastify 성능의 주된 이유 중 하나는 종속성 때문입니다. fastify가 사용하는 종속성 중 일부는 다음과 같습니다.
find-my-way
pino
fast-json-stringify
fastify-helmet
그리고 다른 사람도 거의 없을 수 있습니다.
이러한 각 종속성을 자세히 살펴보면.
find-my-way
를 사용합니다.javascript의 클로저 기반 문제를 모르는 사람들:
1. Variables used by closure do not get garbage collected.
2. Memory snapshot of the application increases if closures are not used properly
bunyan
, winston
)보다 성능이 뛰어난 로깅에 pino를 사용합니다. JSON.stringify
는 v8에서 최적화할 수 없으므로 스키마 기반 JSON 렌더링인 fast-json-stringify
를 사용하고 스키마 기반 코드를 생성하여 JSON 직렬화를 위한 필드 유형을 식별하기 위한 계산 오버헤드를 크게 줄입니다. Fastify-helmet
는 다른 라이브러리fastify의 성능 뒤에는 또 다른 이유가 있습니다.
수명 주기입니다.
사용하는 종속성에 관한 것이 아니라
v8
로 최적화하는 방식으로 설계되었습니다.개발자가 작성하는 코드는
pre initialized
fastify에 의해 사용되므로 요청 시 사용할 수 있으므로 더 빨라지고, 사전 초기화된 데이터 구조가 빠르고 향상되며 fastify 프레임워크의 효율성으로 인해 성능이 향상됩니다.추가하거나 수정할 사항이 있으면 모두 알려주세요.
참조: Fastify
Reference
이 문제에 관하여(fastify가 다른 프레임워크보다 얼마나 더 나은 성능을 발휘합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vinamrasareen/how-fastify-performs-better-than-other-frameworks-116m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)