전체 글 117

리눅스 파이프 (Pipe, |)

파이프란?한 명령어의 출력을 다른 명령어의 입력으로 전달하는 명령어장점데이터를 중간에 파일로 저장하지 않고 직접 전달하여 메모리를 절약하고 명령어들을 빠르게 실행 가능여러 명령어를 파이프(|)로 연결하여 복잡한 데이터 처리를 단순하게 할 수 있음e.g. cat file.txt | grep "keyword"cat을 통해 file.txt 파일의 내용을 출력|를 통해 그 출력을 grep "keyword"의 입력으로 전달grep을 통해 전달받은 내용 중 "keyword"가 포함된 줄만 출력

study/etc 2024.11.11

Docker와 Docker Compose의 장단점과 도입하기 좋은 상황

Docker의 장단점Docker의 장점‘컨테이너’라는 독립된 실행 환경을 제공하여, 개발-배포 환경 간의 차이로 인한 문제를 줄일 수 있음컨테이너는 독립적으로 실행되므로 여러 애플리케이션을 같은 서버에서 격리하여 운영할 수 있어 서로 다른 종속성이나 라이브러리의 충돌을 방지함컨테이너는 가상머신처럼 OS를 별도로 설치하지 않기 때문에 가상머신에 비해 자원을 덜 소모함 → 더 많은 애플리케이션을 같은 서버 내에서 실행할 수 있음애플리케이션의 모든 설정, 종속성, 파일 등을 이미지에 포함시키므로 배포 과정에서 환경 설정의 차이로 인한 문제가 거의 발생하지 않음동일한 Docker 이미지를 이용하면 어느 서버에서도 일관된 환경에서 실행 가능 (이식성)Docker 이미지는 버전별로 관리할 수 있어 특정 버전의 이미..

study/etc 2024.11.02

부하 테스트 도구

:아마존 웹 서비스 부하테스트 입문 부하 테스트란?부하 테스트 서버: 부하 테스트 도구를 가동한 서버부하 테스트: 부하 테스트 도구를 사용하여 웹 애플리케이션에 HTTP(S) 요청을 발생시키는 것 부하 테스트에서 사용하는 도구부하 테스트 도구: 시스템에 부하를 줌모니터링 도구: 시스템 리소스 사용률을 가시화해줌프로파일링 도구: 미들웨어나 애플리케이션 내부 동작을 분석하고 가시화해줌 부하 테스트 도구에 필요한 조건요청을 정확하게 시뮬레이션해야 함부하 정도(클라이언트 동시 접속자 수, 요청 간격, 최대 Throughput 등)를 조정 가능해야 함대상 시스템에 충분한 부하를 발생시켜야 함부하 테스트 도구/설치/장소 및 가동 장소를 선택할 수 있어야 함 실제 부하 테스트 주의사항부하 테스트 도구에서 보이는 La..

books/LoadTest 2024.10.18

부하 테스트 기본 지식

:아마존 웹 서비스 부하테스트 입문 온프레미스에서의 부하 테스트 목적여러 사례를 토대로 각 시스템의 응답 성능 예측서비스 시작 직후 많은 사용자가 서비스에 등록함서비스 시작 후 많은 데이터가 저장됨e.g. DB 검색 / 갱신 성능 저하이벤트 광고 등으로 갑자기 사용자 요청이 증가함오토 스케일링의 스케일 아웃 속도와 CPPU와 스토리지 I/O 버스트 성능 검증 필요배치 작업 등 다른 시스템으로 인한 DB 작업과 시간이 겹침슬레이브 DB 추가 필요시스템에서 비정상적으로 응답함비정상 응답을 보낼 때 상세 로그를 수집하도록 구축한 시스템 → 병목 현상 발생 가능시스템 재기동 후 캐시가 초기화됨시스템 재기동 직후 요청 증가로 많은 양의 데이터를 캐시하게 될 때 응답 성능 저하부하가 많이 발생할 때 성능을 개선부하..

books/LoadTest 2024.10.07

CAP 이론

CAP 이론이란?분산 시스템에서 아래 특성 세 가지 중 두 가지 특성만을 보장할 수 있다는 것을 의미하는 이론으로, 시스템을 설계할 때 어떤 두 속성을 중점적으로 선택할지 결정해야 함C - Consistency (일관성): 모든 노드에서 동일한 시점에 동일한 데이터를 볼 수 있어야 함 → 어떤 클라이언트가 데이터를 읽을 때 항상 최신 데이터를 받을 수 있어야 한다는 것A - Availability (가용성): 모든 요청이 성공적으로 응답을 받을 수 있어야 함 → 일부에 문제가 있더라도 시스템이 지속적으로 응답을 제공해야 한다는 것P - Partition Tolerance (분할 내성): 네트워크가 여러 부분으로 분할되더라도(네트워크 오류가 발생하더라도) 시스템이 계속 작동할 수 있어야 함 → 시스템이 네..

DB 이중화: Active-Standby 방식으로 처리하는 이유

Active-Standby 구조하나의 Active DB가 운영되고, 동일한 데이터를 복제한 Standby DB는 항상 준비 상태에 있다가 문제가 발생하면 즉시 주 역할을 대체함DB 이중화를 이 방식으로 처리하는 이유장애가 발생할 경우 빠르게 Failover(전환)하여 서비스를 지속 → Active DB에서 문제 발생 시 Standby DB가 즉시 역할을 대신하여 서비스를 중단 없이 이어갈 수 있음 → 고가용성Active DB에서 실시간으로 Standby DB로 데이터를 복제하거나 동기화하는 구조 → 장애 시 데이터를 잃을 가능성이 매우 적음시스템 업그레이드, 패치 적용, 백업 등의 유지보수 작업을 진행할 때 Standby DB로 전환하여 Active DB에서 안전하게 작업을 수행할 수 있음 → 서비스에 ..

study/Database 2024.10.06

로드 밸런서

네트워크/애플리케이션 트래픽을 여러 서버/인스턴스에 고르게 분산하는 장치/소프트웨어특징들어오는 트래픽을 여러 서버에 고르게 분산해 각 서버의 부하를 최적화하나의 서버가 장애가 발생하면 자동으로 다른 서버로 트래픽을 전환서버의 수를 늘리거나 줄이는 스케일링 작업을 지원하여 트래픽 증가에 유연하게 대응 가능SSL/TLS 암호화와 같은 기능을 지원해 보안 연결을 관리하고 보호할 수 있음특정 사용자의 요청을 동일한 서버로 보낼 수 있는 세션 유지 기능 제공장점성능 향상: 트래픽을 여러 서버에 분산해 각 서버의 과부하를 방지가용성 향상: 하나의 서버에 장애가 발생하더라도 로드 밸런서가 자동으로 트래픽을 다른 서버로 전환확장성 향상: 수요에 따라 서버를 동적으로 추가하거나 제거할 수 있어 트래픽 증가에 효과적으로 ..

study/Network 2024.09.17

웹 시스템 설계 방법

:아마존 웹 서비스 부하테스트 입문 내구성데이터의 손실이 발생하지 않는다는 것cf. 시스템이나 제품이 오랜 시간 동안 사용되거나 다양한 조건에 노출되어도 본래의 성능과 기능을 유지할 수 있는 능력e.g. 내구성 99.99% → 데이터 저장 후 1년 후에 데이터 손실 없이 저장한 데이터를 사용할 수 있는 확률 가용성시스템이 서비스를 정상적으로 제공할 수 있는 상태e.g. 가용성 99.99% → 99.99% 시간을 정상적으로 이용 가능한 시스템가용성 높이기 → 서비스 사용 불가능 시간을 최대한 발생시키지 않게 하며 발생하더라도 서비스 사용 불가능 시간을 짧게 만들기이러한 다운 타임을 줄이는 데 필요한 것시스템 이중화시스템 확장 시스템 이중화단일 장애점을 없애는 방법 → 시스템의 일부분을 사용할 수 없게 되어..

books/LoadTest 2024.09.15

[모두의 리눅스] alias와 셸 변수

alias: 별칭 붙이기alias =’’$ alias ls='ls -F' # ls 입력 시 ls -F 실행rm, cp, mv 명령어 전 확인하기 위해 -i 옵션 별칭 자주 사용type : 별칭 여부 확인unalias : 별칭 해제alias 일시적 무효화 → alias로 별칭을 붙여 놓은 상태에서 일시적으로 아무런 옵션이 지정되지 않은 명령어를 실행하고 싶은 경우전체 경로로 명령어 입력command 명령어 입력역슬래시 추가$ /bin/ls # 전체 경로로 명령어 입력$ command ls # command 명령어 입력$ \ls # 역슬래시 추가 셸 변수변수 설정=$ var1='test variable' # 값 설정$ echo $var1 # 값 확인공백 주의PS1: 프롬프트 설정$ PS1='bash> ' #..

books/Linux 2024.09.11

[모두의 리눅스] 정규 표현식

문자열 검색grep [옵션] $ grep bash /etc/passwd # 문자열 bash를 포함하는 행 출력-n 옵션: 행 번호와 함께 출력-i 옵션: 대소문자 구별하지 않음-v 옵션: 검색할 문자열이 포함되지 않은 행 출력파일 지정하지 않으면 표준 입력을 읽음$ ls /etc | grep cron # /etc 디렉터리에 있는 파일 중 cron이라는 글자를 포함하는 파일 검색  정규 표현식. 문자 하나$ grep 't.st' example.txttest.example.nettfst.example.nettzst.example.net$ grep 't..st' example.txttzzst.example.net$ grep '.org' example.txt # 알파벳, 숫자, 기호 포함www.example...

카테고리 없음 2024.09.04