요구사항에 전송비가 가장 큰 비용 항목이라고 적혀 있습니다. 이 줄이 있으면 전송을 성능 문제가 아니라 원가 문제로 봐야 합니다. 엣지 전달 자체는 CDN 과 엣지 전달에서 다뤘고, 여기서는 원가를 봅니다.
적중률 몇 포인트가 몇 배가 된다
적중률 90퍼센트면 요청의 10퍼센트가 원본까지 옵니다. 99퍼센트면 1퍼센트가 옵니다. 9퍼센트포인트 차이가 원본 전송량 10배 차이입니다.
성능으로 보면 90퍼센트도 충분히 좋아 보입니다. 원가로 보면 전혀 다릅니다.
그래서 적중률을 떨어뜨리는 것을 찾아 없앱니다.
| 적중률을 떨어뜨리는 것 | 대응 |
|---|---|
| 주소가 사람마다 다르다 | 주소를 같게 하고 권한은 따로 확인한다 |
| 조각 길이를 자주 바꾼다 | 이미 캐시된 것이 무효가 된다 |
| 캐시 수명이 짧다 | 조각은 바뀌지 않으므로 길게 둔다 |
세 번째가 값싼 개선입니다. 한 번 만든 조각은 바뀌지 않습니다. 그러면 캐시 수명을 매우 길게 둘 수 있습니다. 목록 파일만 짧게 둡니다. 화질이 추가되면 그것이 바뀌기 때문입니다.
무엇을 캐시할지 고른다
엣지 저장 공간은 무한하지 않습니다. 모든 영상의 모든 조각을 둘 수는 없습니다.
조회가 상위 1퍼센트 영상이 조회의 90퍼센트로 몰려 있는 것이 여기서는 좋은 소식입니다. 상위 영상만 캐시해도 요청의 대부분을 덮습니다.
인기 영상은 엣지에 오래 머문다
안 보는 영상은 엣지에 없고 원본까지 간다
그리고 인기 영상 안에서도 앞부분 조각이 훨씬 많이 요청됩니다. 끝까지 보는 사람이 적기 때문입니다. 공간이 부족하면 뒷부분을 먼저 버리는 편이 낫습니다.
원본을 보호한다
인기 영상이 새로 올라오면 엣지에 없는 상태에서 요청이 몰립니다. 엣지가 저마다 원본에 물어보면 원본이 같은 조각을 수백 번 내보냅니다.
| 방법 | 내용 |
|---|---|
| 같은 조각 요청을 하나로 묶는다 | 원본에는 한 번만 간다 |
| 중간 계층을 둔다 | 엣지들이 그 계층에서 받는다 |
이것은 캐시가 비었을 때 요청이 몰리는 문제이고, 영상에서는 새 인기 영상이 올라올 때마다 생깁니다. 드문 일이 아니므로 처음부터 대비합니다.
지역을 나눠 생각한다
시청자가 여러 지역에 있으면 지역마다 인기 영상이 다릅니다. 모든 지역에 같은 것을 채워 두면 쓰이지 않는 복사가 생깁니다.
지역마다 그 지역의 요청에 따라 채워지게 두는 것이 단순하고 낭비가 적습니다. 다만 처음 요청하는 사람은 느립니다. 그 지역에서 확실히 인기일 것이 예상되면 미리 밀어 넣을 수도 있습니다.