arrow_upward
본문 바로가기

분류 전체보기28

애플리케이션 쿼리 튜닝 및 성능 개선하기 대규모 시스템에서 각 기능이 독립적인 애플리케이션으로 구현된다고 가정한다. 즉, 각 기능은 모듈로 분리 되어 있다. 여기서는 게시판(board)과 게시글(post) 기능을 개발할 때, 게시글 기능을 위주로 시스템의 성능 개선을 위한 단계를 진행할 것이다. 쿼리 튜닝 및 인덱스 생성 -> 성능 테스트 진행 -> 톰캣 및 DBCP 설정 -> 성능 테스트 진행 및 결과 확인의 순서로 단계를 밟아간다. DB 테이블 구조create table board ( board_id BIGINT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, created_at TIMESTAMP, modified_at TIMESTAMP);create table post.. 2025. 6. 2.
k6 개념 및 사용법, JMeter와 비교 이전 포스팅에서 JMeter를 사용한 성능 테스트를 진행했다. 이번에는 k6에 대해서 알아보고 k6의 사용방법 및 JMeter와 어떤 차이가 있는 확인할 것이다. k6란? k6는 현재 Grafana Labs의 제품 중 하나로 오픈 소스이며, 개발자 친화적이고 확장 가능한 부하 테스트 도구이다.k6를 사용해서 애플리케이션과 인프라의 성능을 테스트할 수 있으며, 자바스크립트 기반의 스크립트를 통해 시나리오를 작성하고, CLI 환경에서 실행하여 HTTP 요청에 대한 부하를 시뮬레이션할 수 있다.k6는 성능 테스트를 "가상 사용자"로 시뮬레이션한다. 각 가상 사용자는 지정된 시간 동안 웹 애플리케이션에 대한 요청을 반복하거나 병렬로 보내며, 이를 통해 시스템의 성능과 반응 시간을 측정한다. k6의 사용 목적부.. 2025. 5. 28.
JMeter 개념 및 사용법 JMeter란?JMeter는 Apache 재단에서 만든 오픈 소스 소프트웨어로, 부하 테스트 및 성능 측정을 위해 설계된 자바 애플리케이션이다. JMeter는 정적 및 동적 리소스, 웹 애플리케이션의 성능 테스트에 사용할 수 있다. 서버, 서버 그룹, 네트워크 또는 객체에 과부하를 시뮬레이션해서 그 강도를 테스트하거나 다양한 부하 유형에서의 전반적인 성능을 분석하는데 활용된다. JMeter의 주요 특징JMeter는 다양한 애플리케이션 서버, 프로토콜에 대한 성능 테스트가 가능하다.HTTP, HTTPS(Java, node.js, PHP 등), SOAP, REST API, FTP, SMTP, POP3, TCP 등 다양한 프로토콜을 지원한다.JMeter는 GUI를 제공하므로, 복잡할 수 있는 테스트 설정 및 .. 2025. 5. 27.
티스토리 페이지 상단 스크롤 이동 버튼 생성하기 티스토리에 작성된 블로그에 포스팅된 글을 볼 때 스크롤을 페이지 중간에서 상단으로 이동하려면 직접 스크롤을 사용해서 이동하거나 최하단에 있는 버튼을 이용해야 한다. 블로그에 포스팅된 글을 읽는 중간에 페이지의 상단으로 스크롤이 이동할 수 있도록 버튼이 나타나게 하며 버튼을 누르면 상단으로 스크롤이 이동되게 하고, 기존 버튼은 제거해볼 것이다.스크롤 이벤트 css, js 작성자바스크립트의 Scroll 이벤트는 마우스 스크롤을 할 때마다 동작하는데 이는 짧은 시간동안 수백 수천번의 스크롤 이벤트를 발생시킨다.  이를 해결하기 위해서 lodash 라이브러리에서 제공하는 쓰로틀링 기능을 사용할 것이다. 쓰로틀링은 일정 시간동안 이벤트가 한 번만 발생하도록 주기를 설정할 수 있다. 우선 버튼을 만들기 위.. 2025. 1. 30.
아파치 카프카 CLI 명령어 정리 아파치 카프카 CLI(Command Line Interface) 명령어를 정리한다. 아파치 카프카의 쉘 스크립트 파일은 카프카를 설치하고 압축해제를 했을 때 bin 디렉토리에서 확인할 수 있다. 아파치 카프카 CLI아파치 카프카 CLI는 카프카 클러스터와 상호작용하며 다양한 명령어들을 제공하는데, 애플리케이션을 개발하거나 클러스터를 운영할 때 자주쓰이므로 알아두는 것이 좋다. 카프카 CLI 명령어를 통해 토픽 관련 명령어를 실행할 떄 필수 옵션과 선택 옵션이 있다. 선택 옵션은 지정하지 않을 시 브로커에 설정된 기본 설정값 또는 커맨드 라인 툴의 기본값으로 대체되어 설정된다. 카프카 쉘 스크립트 파일을 사용해서 명령어를 실행하기 전 주키퍼와 카프카를 시작한다.# 주키퍼 서버 시작bin/zookeeper-.. 2025. 1. 8.
아파치 카프카 기본 설정 아파치 카프카를 실행하기 위해서는 주키퍼의 설정 파일인 zookeeper.properties와, 카프카 브로커 설정 파일인 server.properties 파일을 설정해야 한다. 세부적인 프로퍼티까진 설명하지는 않지만 설치했을 때 기본적으로 설정된 프로퍼티들을 확인할 것이다. 아파치 카프카를 설정하기 전에, 카프카의 설치는 아파치 카프카 공식 페이지에서 다운로드 할 수 있으며 Binary downloads의 tgz 파일의 링크를 wget으로 다운로드하면 된다. 포스팅에서 사용한 버전은 아파치 카프카 3.1.2 버전을 사용했다. 다운로드 시 Source download로 소스 파일을 다운로드한다면, 실행 가능한 바이너리 파일로 컴파일 되지 않은 상태이므로 소스 코드를 직접 빌드해서 사용해야 한다. 소스 코.. 2025. 1. 7.