개발자 양세진의 기술 블로그
close
프로필 배경
프로필 로고

개발자 양세진의 기술 블로그

  • 분류 전체보기 (131)
    • JAVA (20)
    • Trouble Shooting (5)
    • CS (24)
    • Linux (18)
    • DB (5)
    • 개발일기 (6)
    • Spring - Spring Boot (9)
    • AWS (4)
    • NetWork (9)
    • side Project - Portfolio ma.. (2)
    • JPA (1)
    • Coding Test - Java - Progra.. (14)
    • Software Design (3)
    • DataStructure (1)
    • 알고리즘 (2)
    • 인프라 (1)
    • JS (7)
  • 홈
  • 태그
  • 방명록
Node.js 에서 멀티코어를 활용하자 - 4 - 실무처럼 테스트해보자

Node.js 에서 멀티코어를 활용하자 - 4 - 실무처럼 테스트해보자

Node.js 부하 테스트 및 메트릭 수집 아키텍처 정리일단 전체적인 구성 코드가 필요하면 댓글남겨주길 바랍니다.배경Node.js(Express) 기반 백엔드 애플리케이션의 성능 특성과 시스템 안정성을 검증하기 위해부하 테스트(k6)와 런타임 메트릭 수집(Prometheus)을 분리하여 구성한다.k6: 트래픽 시뮬레이션 및 부하 결과 수집Prometheus: 서버 내부 메트릭 수집Grafana: 시각화 단일 창구InfluxDB: k6 결과 저장소부하 결과와 서버 메트릭을 분리 저장하여 원인 분석 가능성을 높이는 것이 핵심 목적이다.핵심 질문부하 테스트 결과(k6)와 서버 메트릭(Prometheus)을 어떻게 분리·연결할 것인가?Node.js 애플리케이션에서 어떤 메트릭을 노출해야 하는가?Grafana에서..

  • format_list_bulleted JS
  • · 2026. 2. 2.
  • textsms

Node.js 에서 멀티코어를 활용하자 - 3 - 기본 Cluster

https://sejin-technology.tistory.com/130앞글 보고 오도록 한다일단 서버 시작점에서 부터 봐보자다음처럼 준비하는데, 나는 도커 기반으로 서버를 작업했기 때문에 다음처럼 나온다.혹시 코드필요한 사람은 아래 댓글 달아주면 링크보내준다server.listen(port, () => {const workerId = cluster.worker ? cluster.worker.id : 'single';const mode = useCluster ? 'cluster' : 'single process';console.log(`=== Worker ${workerId} Started ===`);console.log(`Mode: ${mode}`);console.log(`Process ID: ${pr..

  • format_list_bulleted JS
  • · 2026. 2. 2.
  • textsms

Node.js 에서 멀티코어를 활용하자 - 실무에서 쓰자 개념

배경전 글을 보고 온다. https://sejin-technology.tistory.com/129 Node.js 에서 멀티코어를 활용하자 - 개념0.들어가며Node 기반의 서버를 쓰면 기본적으로 준비해야하는 것중 하나가돌아가는 서버에 CPU 코어를 모두 활용할 수 있도록 준비하는 것이 필요하다. 자바 환경에서라면 알아서 쓰니까 세부적sejin-technology.tistory.com 일단 단일 서버는 왜문제가 없냐면[ Client ]↓[ OS Kernel ]↓[ Master ]↓[ Worker 1 / 2 / 3 ]이와같이 구조를 잡기때문에 OS가 자연스럽게 Load balancer의 역할을 수행해서 문제가 없다. 근데 멀티서버가 되면 이게 깨지는데 ┌─ Server A (Cluster)[ Cli..

  • format_list_bulleted JS
  • · 2026. 2. 2.
  • textsms

Node.js 에서 멀티코어를 활용하자 - 개념

0.들어가며Node 기반의 서버를 쓰면 기본적으로 준비해야하는 것중 하나가돌아가는 서버에 CPU 코어를 모두 활용할 수 있도록 준비하는 것이 필요하다. 자바 환경에서라면 알아서 쓰니까 세부적인 튜닝만 하면 되는데,Node 에서는 직접 넣어줘야 한다. 내가 전에 했던 프로젝트에서는 부하테스트 후에 서버 버스트가 되었을때예상했던 트래픽이 버텨질것으로 예상했었는데, 실제로 핫트래픽이 발생했을때인프라쪽에서는 전혀문제가 없는데 서비스 p95가 점진적으로 늘어나는 현상을 발견한 경험이 있다. 발주처 요구사항으로 스프링기반의 서비스에서 Node 기반의 서비스로 마이그레이션을 한건데,기존 초기설계 담당자가 해당 문제를 고려하지 못했고, 기간이 급해서였을까이를 파악한 사람이 없었다. 후에 문제가 발생했을때 급하게 조치해..

  • format_list_bulleted JS
  • · 2026. 2. 2.
  • textsms

TDZ (Temporal Dead Zone)

TDZ (Temporal Dead Zone) 개념 정리배경JavaScript에서 let과 const는 var와 다르게선언 이전에 접근할 경우 에러가 발생한다.이 동작의 핵심 원인이 TDZ(Temporal Dead Zone) 이다.핵심 질문TDZ란 무엇인가?왜 let / const는 선언 전에 접근하면 에러가 나는가?TDZ는 어떤 문제를 방지하기 위해 존재하는가?논의 요약TDZ의 정의TDZ(Temporal Dead Zone) 는let 또는 const로 선언된 변수가스코프에는 이미 존재하지만, 선언문이 실행되기 전까지 접근이 금지되는 구간을 의미한다.선언은 호이스팅됨초기화는 선언 시점까지 지연됨이 “지연 구간”이 TDZJavaScript 실행 흐름 관점실행 컨텍스트 생성스코프 결정변수 선언 등록 (호이스팅)..

  • format_list_bulleted JS
  • · 2026. 1. 19.
  • textsms

npm 호이스팅과 js 호이스팅

Hoisting 개념 정리 (JavaScript vs npm)배경“호이스팅(hoisting)”이라는 용어는 JavaScript 언어와 npm 패키지 관리에서 모두 사용된다.동일한 단어를 사용하지만, 적용 대상과 목적, 동작 방식은 서로 다르다.핵심 질문JavaScript에서 말하는 호이스팅은 무엇인가?npm에서 말하는 의존성 호이스팅은 무엇인가?두 개념은 어떻게 연결되고, 왜 혼동되는가?논의 요약1. JavaScript의 HoistingJavaScript 엔진은 실행 전에 선언(declaration)을 먼저 처리한다.코드가 실제로 이동하는 것은 아니며, 실행 컨텍스트 생성 단계에서 선언을 스코프 상단에 등록한다.특징var선언은 호이스팅됨초기화는 호이스팅되지 않음 → undefinedlet, const선언..

  • format_list_bulleted JS
  • · 2026. 1. 19.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (131)
    • JAVA (20)
    • Trouble Shooting (5)
    • CS (24)
    • Linux (18)
    • DB (5)
    • 개발일기 (6)
    • Spring - Spring Boot (9)
    • AWS (4)
    • NetWork (9)
    • side Project - Portfolio ma.. (2)
    • JPA (1)
    • Coding Test - Java - Progra.. (14)
    • Software Design (3)
    • DataStructure (1)
    • 알고리즘 (2)
    • 인프라 (1)
    • JS (7)
최근 글
인기 글
최근 댓글
태그
  • #swagger
  • #java
  • #Spring
  • #node
  • #MSA
  • #DTO
  • #DAO
  • #docker
  • #DHCP
  • #AWS
전체 방문자
오늘
어제
전체
250x250
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바