top of page
검색

Node.js 프레임워크 비교: Express vs Fastify

최근 우리 팀에서는 기존에 RDS에 저장하던 모든 로그를 통합 로그 시스템으로 분리하는 작업을 진행했습니다. 이는 데이터베이스의 부하를 줄이고 보다 유연한 로그 관리를 하기 위함이었죠.


개발을 시작하며 Node.js 기반의 웹 프레임워크인 FastifyExpress의 성능을 비교해 보기로 했습니다. 둘 다 널리 사용되는 프레임워크이지만 각자의 장단점이 있기에 우리 시스템에 더 적합한 것을 고르고 싶었습니다.


Fastify는 고성능에 초점을 맞춘 웹 프레임워크입니다. 낮은 오버헤드와 효율적인 요청 처리 파이프라인을 통해 Express보다 훨씬 빠른 속도를 자랑하죠. Fastify의 플러그인 아키텍처는 코드를 모듈화하고 기능을 확장하기에 용이합니다. 타입 기반의 검증과 직렬화(serialization) 스키마도 지원해 개발 과정에서 버그를 최소화할 수 있습니다.


반면 Express는 가장 오래되고 널리 쓰이는 Node.js 웹 프레임워크 중 하나입니다. 미들웨어 기반 아키텍처로 요청 처리 과정을 높은 수준에서 제어할 수 있죠. 또한 방대한 생태계 덕분에 다양한 라이브러리와 플러그인을 사용할 수 있습니다. 하지만 미들웨어 체인을 거치며 성능 저하가 생길 수 있고, Fastify만큼 빠르지는 않습니다.


테스트 결과, Fastify 4.28 버전은 초당 약 44,790건의 요청을 처리할 수 있었고 반면, Express는 약 10,861건을 처​리하였습니다.

이는 Fastify가 효율적인 라우팅과 낮은 오버헤드를 통해 빠른 성능을 제공하기 때문입니다.



초당 요청 처리량(requests per second)은 Fastify가 Express의 두 배 이상이었죠. 응답 지연 시간 역시 Fastify가 훨씬 짧았습니다.


또한 RDS를 API화 하면서 불필요한 쿼리 감소, 캐싱 적용, 수평적 확장 용이성 등이 주요 목적이였기에 결과적으로 Fastify를 택해 개발을 진행하기로 하고, 통합 로그 시스템을 마이크로서비스 아키텍처로 구축했습니다.


덕분에 데이터베이스 부하는 크게 감소했고, 로그 데이터 분석 및 모니터링 또한 더 쉬워졌습니다.


이처럼 기술 선택 시 성능 테스트와 장단점 비교는 서비스 품질을 좌우하는 중요한 과정입니다. 앞으로도 다양한 관점에서 기술을 검토하고 시스템을 발전시켜 나가겠습니다.

 
 
 

Comments


Group 12.png

(주)아이엔지스토리  |  대표 강남구  |  서울시 강남구 테헤란로111 대건빌딩 5층 아이엔지스토리

사업자번호 307-81-42763  |  가맹문의 1522-1023  FAX 02-537-9571  |  대표메일 help@ingstory.kr  |  광고·제휴 ing_ad@ingstory.kr

copyrightⓒ2024(주)아이엔지스토리 All Rights Reserved

bottom of page