본문 바로가기

Research/Node.js17

nodejs_번역_고성능 및 확장 가능한 Node.js 어플리케이션에 대해 - 2 이 글은 미디엄 게시글 (https://medium.com/iquii/good-practices-for-high-performance-and-scalable-node-js-applications-part-2-3-2a68f875ce79)를 번역한 게시글입니다. Node.js 어플리케이션을 스케일링 위해선 Node.js가 스케일링할 준비가 되어있어야 한다. 프로세스를 스케일업하기 전에 미리 고민하면 좋은 부분을 이야기해보자. Decouple application instances from DB 인프라에 대해 먼저 이야기해보자. 여러 호스트에서 어플리케이션을 스케일링하고 싶다면, 당연하게도 DB는 다른 머신에 둬야 한다. 그래야 어플리케이션 머신들을 자유롭게 복제할 수 있다. 어플리케이션과 DB를 같은 머신에.. 2023. 2. 28.
nodejs_번역_고성능 및 확장 가능한 Node.js 어플리케이션에 대해 - 1 이 글은 미디엄 게시글 (https://medium.com/iquii/good-practices-for-high-performance-and-scalable-node-js-applications-part-1-3-bb06b6204197) 를 번역한 게시글입니다. 이 글은 Nodej.js에 대한 기본 지식을 가진 분들이 효율성과 성능 관점에서 더 나은 어플리케이션 아키텍처를 구축하는데 도움을 주기 위해 작성되었다고 합니다. 목차 Node.js 앱을 수평적으로 확장하는 방법 Node.js 앱을 확장 시 고려해야 할 것들 적용할 사례 1. Node.js 앱을 수평적으로 확장하는 방법 How to horizontally scale a Node.js application 웹 어플리케이션의 Throughput(시간당.. 2023. 2. 28.
Node.js stress test tool 부하 테스트 부하 테스트란? 부하 테스트(stress test)는 서버가 얼마나 요청을 견디냐를 검증하는 테스트다. API의 병목 현상과 트래픽 수용량을 체크할 수 있다. 테스트 유형에 따른 목적 유닛 테스트, 통합 테스트 : 문법적, 논리적 문제 부하테스트 : 로드 문제 부하 테스트 툴 node.js를 기반으로 한 서버를 구축하면서, 과연 이 서버가 충분히 강한가에 대한 증명을 하고싶어 졌다. 그래서 찾아본 것이 부하 테스트였다. 부하 테스트 툴로는 Artillery, K6 등이 있었다. Artillery K6 Back-end Front and back Written in Node.js Go No multithreaded slower and more resource required Script in Y.. 2023. 2. 6.
Node.js API 서버 성능 개선기 요약 https://www.youtube.com/watch?v=3AMqUmrNido 우리 프로젝트에서 참고할 만한 내용 성능 개선을 위해 생각해 볼 요소(인프라) 클러스터를 싼 것을 사용(T2.micro) -> 인스턴스 큰 것으로 변경하기 도커 CPU, memory 사이즈 조정하기 DB pool 사이즈 조정하기 성능 개선을 위해 생각해 볼 요소(어플리케이션) node.js 버전 v8 엔진 버전, 컴파일러(5.9 이전에는 Crankshaft, 5.9이후로는 Ignition + Turbofan) 관련 npm 패키지 버전 DB 버전 언어(JS or TS) 시나리오 기반으로 생각해볼 것 Series N 단계 투자를 받은 유저 수 x명을 보유한 서비스 소유한 스타트업의 유저 수가 y명으로 급격히 증가할 경우를 대비한 .. 2023. 2. 6.