개발자 양세진의 기술 블로그
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

프로세스와 쓰레드를 메모리 관점에서 이해해보자

프로세스 : 프로그램이 올라가는 자원할당의 단위쓰레드 : 프로세스내의 실행흐름의 단위 데이터를 관리하는 메모리에는 4가지 종류로 구분하는데코드 , 데이터 , 힙 , 스택 이 있다. 코드는 말그대로 돌아가는 코드를 말한다. 읽는 것 만 한다.데이터는 전역변수나 static으로 선언한 공용변수를 의미하고힙은 동적메모리로, 개발자가 관리하는 메모리다. (new 같은걸로 선언하는거) 스택은 함수호출로 지역변수, 매개변수 , 리턴 주소를 말한다.여기서 프로세스는 4가지 모두 독립적으로 쓰는데쓰레드는 코드,데이터,힙은 공용으로 쓰면서 스택은 각각 사용한다. 이게 의미하는게 뭐냐면 쓰레드가 각 작업단위에 독립적인 실행을 할 수있다는 의미다.정리하면 스택 즉, 호출흐름만 쓰레드가 독립적으로 관리하고 나머지는프로세스의 ..

  • format_list_bulleted CS
  • · 2026. 1. 30.
  • textsms

DDD-CH1-DDD란

DDD 정리 노트 — 1장 중심 핵심 정리예제코드 : https://github.com/Sejin-999/DDD-study/tree/main/ch1들어가며일단, 소프트웨어 아키텍처 중 핵사고날 , 클린 아키텍처 같은 아키텍처 패턴을 이해하기 위해서 공부를 하다보니일반적으로 개발했던 레이어 아키텍처와 다른 부분이 도메인에 대한 부분이였다. 외부 세계에 대한 이해를시작하기 위해서는 가장 중심인 도메인에 대한 이해가 필요했고, 그래서 DDD를 공부하기 시작했다. 도메인 중심의 개발을 이해해야 하는데, 도메인? 엔티티관리하는 그건가? 부터 시작했다 공부하다보면 다르다는거를 알 수 있는데, 결국에는 이를 잘 이해하기 위해서는 (최근 각광받고있는 아키텍처 패턴) DDD_(Domain Driven Design, 도메..

  • format_list_bulleted Software Design
  • · 2026. 1. 20.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 22
  • 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)
최근 글
인기 글
최근 댓글
태그
  • #DHCP
  • #java
  • #node
  • #MSA
  • #docker
  • #swagger
  • #AWS
  • #Spring
  • #DAO
  • #DTO
전체 방문자
오늘
어제
전체
250x250
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바