본 포스팅은 웹 개발자를 위한 대규모 서비스를 지탱하는 기술 책에서 발췌한 내용입니다. http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788994506128#N 대규모 서비스를 지탱하는 기술 - 교보문고 데이터 구조 메모리 OS DB 서버 인프라 | 베스트셀러 『(24시간 365일)서버/인프라를 지탱하는 기술』의 핵심 저자들이 또 한 권의 역작을 펴냈다. 서버 1대부터 시작하여 1,000대의 호스트를 운영하 www.kyobobook.co.kr 국소성(Locality)을 고려한 분산 🔠 Locality : a particular area 액세스 패턴(데이터의 용도)을 고려한 분산 캐싱할 수 없는 부분이 사..
Linux의 경우 page cache, buffer cache, file cache구조가 있습니다. 가상 메모리 프로세스에서 메모리를 다루기 쉽게 하는 이점을 제공 OS가 커널에서 메모리를 추상화함 페이지 : OS가 물리 메모리를 확보/관리하는 단위. 가상 메모리의 최소 단위 리눅스의 페이지 캐시 원리 커널이 한 번 할당한 메모리를 해제하지 않고 계속 남겨두는 것이 페이지 캐시의 기본입니다. 캐싱 과정 디스크의 내용을 일단 메모리에 읽어 들인다 : 페이지가 작성된다 작성된 페이지는 파기되지 않고 메모리에 남는다 : 페이지 캐시 예외의 경우를 제외하고 모든 I/O에 투과적으로 작용한다. (디스크의 캐시를 담당하는 곳 - VFS) 리눅스는 메모리가 비어있으면 거의 다 캐싱하는 데에 메모리를 사용합니다. 그 ..
CPU bound 부하 프로그램 처리 속도가 CPU에 의해 좌우되어 디스크의 입출력은 없지만 CPU의 계산 속도에 의존하고 있기 때문에 CPU에서 발생하는 부하입니다. 과거 제가 API 서버에 엑셀 다운로드 기능을 구현했다가 약 7만 건의 데이터로 엑셀 파일을 만드는 과정에서 CPU 부하가 생겨 서버가 프리징 됐던 경험이 있는데요, 이것도 CPU 바운드 부하라고 볼 수 있을 것 같습니다. IO bound 부하 프로그램의 처리 속도가 CPU가 아닌 디스크의 읽기 쓰기 속도, 즉 입출력에 의존하기 때문에 생기는 부하입니다. 디스크에 저장된 대량의 데이터에서 임의의 문서를 찾아내는 검색 프로그램이나 DB서버를 예로 볼 수 있습니다. 디스크는 메모리 보다 느리다 디스크는 물리적인 이동이 수반되므로 메모리 대비 ..
- Total
- Today
- Yesterday
- 백엔드
- 대규모 데이터 처리
- NoSQL
- kubernetes
- docker
- 리눅스 컨테이너
- laravel 테스트코드
- 분산처리
- database
- k8s
- index
- laravel
- Apache POI
- 몽고디비
- phpUnit
- 주니어개발자
- redis
- laravel 테스트
- MySQL
- springboot
- pods
- 라라벨
- 샤드
- php
- mongoDB
- 쿠버네티스
- mockery
- java
- 샤딩
- 도커
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |