Search
📊

대용량 트래픽 처리

태그
대용량 트래픽 처리
2주차
목차

기술로 처리하기

코드의 효율 높이기

최대 루프 수 고려하기, 불필요한 동작 줄이기, if else 줄이기
최대 데이터 크기 고려하기
긴 요청은 백그라운드로 처리하고 알리기

코드 성능 최적화하기

효육적인 데이터 베이스 구조 만들기
이 함수는 몇 번의 쿼리를 하는지, 개선 가능한 사항이 있는지 기록하기
데이터 생성량이 년 당 최대 몇 건 예상 되는지, 예상 활성 사용자는 얼마나 되는지 예측하기
 시간 투입 대비 효용 체크하기
사람들이 많이 사용하지 않는 기능을 최적화할 필요가 있는가?
하면 좋지만, 그 시간에 다른 일을 하는게 낫지 않을까?

캐싱을 이용한 대용량 트래픽 처리하기

컴퓨터 저장소

CPU
CPU 내부에도 자체적인 메모리가 존재합니다.
하지만 이는 아주 작으며, 저장 용도가 아닌 계산을 위한 임시 저장소 입니다.
< 1 ns
RAM(Random Access Memory)
SRAM(Static RAM)
SRAM 은 데이터를 저장하는 동안 데이터를 새로 고칠 필요가 없습니다.
데이터 보존이 안정하며, 읽기 및 쓰기 속도가 빠릅니다.
KB ~ MB
0.5 ~ 3 ns
SRAM 은 속도와 안정성이 중요한 응용 프로그램에서 사용합니다.
DRAM(Dynamic RAM)
50 ~ 100 ns
GB
DRAM 은 비용 효율적인 대용량 메모리에 적합합니다.
DISK-DB
SSD
HDD

API 호출 및 결과 반환 DB 조회 대비 캐싱 효율

code 에서 Redis 키 생성 규칙 { "key":"value" } ---- import Redis cache = Redis() cache.set("key", "value", ttl=600) value = cache.get("key") -- domain:model cache.set("user:users:1", {..}, ttl=600) value = cache.get("user:users:1") key = "user:users:1:collections"
Python
복사
DB 커넥션
서버 - DB 서버
커넥션 open
통신

자원으로 처리

서버의 성능
서버
데이터베이스 서버
서버 다중화
스케쥴링
부하 분산 (MSA)

서비스 이용 규칙

실시간성을 보장합니다.
최종 업데이트 시간
통계 생성 버튼
구독에 따른
무료 회원 / 브론즈 / 실버 …
년간, 월간, 일간, 실시간, 30분 통계…
최대 7 일, 최대 30 일
최대 블락 1000 건
비용 지불하면 무제한, 실시간 등
생성 후 알림