[용어] 로드 밸런싱 (Load Balancing) 개념 및 실무 적용
·
개발 환경 | 도구/서버 | 인프라 | 배포 | 운영
1. 로드 밸런싱이란?로드 밸런싱(Load Balancing)은 하나의 서버에 집중되는 트래픽을 여러 서버로 분산하여 성능과 안정성을 향상시키는 기술이다. 이를 통해 응답 속도를 개선하고, 고가용성을 보장하며, 특정 서버 장애 발생 시 서비스 중단을 방지할 수 있다.2. 로드 밸런싱 방식로드 밸런싱은 네트워크 계층(L4)과 애플리케이션 계층(L7)에서 동작할 수 있다.구분설명예시L4 (네트워크 계층)IP, 포트 기반으로 부하 분산AWS NLB, HAProxyL7 (애플리케이션 계층)HTTP, URL, 쿠키, 헤더 기반으로 부하 분산AWS ALB, Nginx, TraefikL4 vs L7 차이점L4: TCP/UDP 프로토콜을 기반으로 작동하며, 속도가 빠르지만 세밀한 제어가 어렵다.L7: HTTP/HTTP..
[모니터링 도구] Grafana 초기 설정 가이드
·
개발 환경 | 도구/개발 도구 (IDE, 에디터 등)
1. Grafana 설치 및 실행1-1. 설치 파일 다운로드 및 서버 전송내부망으로 인해 공식 홈페이지에서 직접 설치가 불가능할 경우, 설치 파일을 Windows에서 다운로드한 후 리눅스 서버로 이관해야 합니다.Windows에서 Grafana 설치 파일 다운로드:curl -outfile grafana-enterprise-10.4.2-1.x86_64.rpm https://dl.grafana.com/enterprise/release/grafana-enterprise-10.4.2-1.x86_64.rpm다운로드한 파일을 리눅스 서버로 전송 (예: SCP 사용):scp grafana-enterprise-10.4.2-1.x86_64.rpm 사용자@서버IP:/경로/1-2. 리눅스 서버에서 설치 진행인터넷 및 DNS ..
[시계열 데이터베이스] InfluxDB 2.7.11 설치 및 JMeter 연동 방법
·
개발 환경 | 도구/개발 도구 (IDE, 에디터 등)
1. InfluxDB 기본 설치 및 실행1-1. 리눅스에서 직접 설치하는 방법 (내부망 제한 없음)공식 패키지 저장소를 사용하여 InfluxDB를 설치할 수 있다.wget -qO- https://repos.influxdata.com/influxdb.key | sudo tee /etc/apt/trusted.gpg.d/influxdb.ascecho "deb https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdb.listsudo apt updatesudo apt install influxdb2설치 후 InfluxDB 서비스를 실행하고 자동 시작 설정을 활성화한다.sudo systemctl start ..
[부하 테스트] Apache JMeter를 활용한 부하 테스트 가이드
·
개발 환경 | 도구/개발 도구 (IDE, 에디터 등)
선행 기본 지식현대의 부하 테스트 및 성능 분석 환경에서는 응답시간, TPS, JMeter 설정 및 실행 모드 등 기본 개념을 명확하게 이해하고 있어야 합니다. 아래는 이러한 선행 기본 지식을 체계적으로 정리한 자료입니다.1. 응답시간 (Response Time)정의:클라이언트가 서버에 요청을 보내고, 그 요청에 대해 서버가 응답하는 데 걸린 전체 시간을 의미합니다.세부 분류:처리 시간(Processing Time):실제 서버가 요청을 처리하는 데 걸리는 시간대기 시간(Latency Time):클라이언트와 서버 간 데이터 전달에 소요되는 시간응답시간 산출 공식:응답시간(Response Time) = [동시 사용자 수 / 초당 요청 수(TPS)] - 인지시간(Think Time)2. TPS (Through..
[NetWork] 파일 FTP / SFTP 란 무엇일까?
·
개발 환경 | 도구/서버 | 인프라 | 배포 | 운영
1. 개요FTP(File Transfer Protocol)는 원격 서버와 클라이언트 간 파일 전송을 위한 인터넷 통신 규약입니다. 기본적으로 내 컴퓨터의 파일을 계정을 제공하는 서버로 전송하거나, 서버의 파일을 내려받는 방식으로 사용됩니다. 다만, 기본 FTP는 암호화되지 않은 평문 방식으로 동작하여 보안에 취약한 단점이 있어, 실무에서는 보안이 강화된 SFTP가 많이 사용됩니다.2. FTP (File Transfer Protocol)2-1. FTP의 개념 및 특징정의:FTP는 원격 서버와 클라이언트 간 파일 전송을 위한 프로토콜로, 파일 업로드 및 다운로드 작업에 사용됩니다.기본 포트:기본 포트: 21다만, 상황에 따라 포트를 변경하여 사용할 수도 있습니다.보안 문제:FTP는 전송되는 데이터와 명령어가..
[Windows] 개발자를 위한 윈도우 필수 명령어와 도구 모음
·
개발 환경 | 도구/서버 | 인프라 | 배포 | 운영
1. 시스템 모니터링 및 관리 도구시스템 자원 사용량, 이벤트 로그, 프로세스 상태 등을 확인하거나 제어할 수 있는 명령어 및 도구입니다.도구/명령어설명 추천 사용 시점eventvwr / EventLook이벤트 로그 확인 (시스템/보안 등)앱 충돌, 권한 문제 확인 시perfmon성능 카운터 실시간 모니터링CPU/메모리 병목 진단 시systeminfo시스템 사양 요약 정보원격 서버 환경 체크 시tasklist / taskkill프로세스 목록 확인 및 종료메모리 누수, 무한 루프 중단 시msinfo32시스템 구성 정보를 GUI로 확인드라이버/하드웨어 정보 조사 시dxdiagDirectX 및 그래픽 관련 진단 도구게임 개발 및 렌더링 문제 확인 시msconfig시작 프로그램, 부팅 설정 관리부팅 최적화 필요..
[Laravel] 프로세스 관리: systemd → Supervisor 이관 가이드
·
개발 환경 | 도구/서버 | 인프라 | 배포 | 운영
1. systemd 서비스 구성 (초기 설정)1-1. Laravel Web 서버 서비스sudo nano /etc/systemd/system/laravel-web.service[Unit]Description=Laravel Web ServerAfter=network.target[Service]User=www-dataGroup=www-dataWorkingDirectory=/var/www/htmlExecStart=/usr/bin/php artisan serve --host=0.0.0.0 --port=8000Restart=always[Install]WantedBy=multi-user.target1-2. Queue Worker 서비스sudo nano /etc/systemd/system/laravel-worker.s..
[Laravel] 우분투 서버에 라라벨 및 의존성 설치 예제
·
개발 환경 | 도구/서버 | 인프라 | 배포 | 운영
Laravel 서버 구축 (Ubuntu 기반)1. Ubuntu 시스템 준비sudo apt updatesudo apt upgrade -ysudo apt install -y curl git unzip2. PHP 및 확장 모듈 설치sudo apt install -y php php-cli php-fpm php-json php-common \php-mysql php-zip php-gd php-mbstring php-curl php-xml \php-pear php-bcmath3. MySQL 설치 및 설정# MySQL 설치sudo apt updatesudo apt install -y mysql-server# 보안 설정sudo mysql_secure_installation# MySQL 접속 및 계정/DB 생성sudo ..